2

基本上,我想要两个功能。第一个前置一个div包含一些 ajax 数据的元素和一个可以触发关闭功能的按钮。第一个函数做了我想做的一切,除了我在应用属性时遇到问题,单击该onclick属性会触发删除功能。

但除此之外,我还无法开始remove function工作。

如果你能帮助我做得更好,我将不胜感激。

function displayCrRef(refPid, refFs, pidOfReferringP) {

    $.get("crRefParaExtract.php", {
        pid: refPid,
        fs: refFs
    }, function(data) {

        $("#pwrap_" + pidOfReferringP).prepend("<div id='#crRef_" + refPid + "' style='float: left;  width: 350px; margin-right: 60px; padding: 10px; background-color: #E6EDE8'>" + "<a id='crossRefRemoveButton'>Return to normal text</a>" + data + "</div>");


    });
    var rmFxnParam = "'" + refPid + "'";
    $("#crossRefRemoveButton").attr("onclick", "removeCrossRef(" + rmFxnParam + ")");
    $("#" + pidOfReferringP).css({
        float: 'left',
        width: '425px'
    });
    $("#menu_" + pidOfReferringP).css({
        float: 'none',
        clear: 'both'
    });
   }


   function removeCrossRef(refPid) {
       $("#crRef_" + refPid).remove();

   }​
4

2 回答 2

2

以 开头的 id#无效。我相信您将 id 值与 jQuery 的 CSS 选择器混淆了。

[hashTag] + [ID of Element] = CSS ID Selector

这应该有效:

function displayCrRef(refPid, refFs, pidOfReferringP) {

    ...
    // Remove the hash tag here: id='crRef_" + refPid + "'
    $("#pwrap_" + pidOfReferringP).prepend("<div id='crRef_" + refPid + "' style='float: left;  width: 350px; margin-right: 60px; padding: 10px; background-color: #E6EDE8'>" + "<a id='crossRefRemoveButton'>Return to normal text</a>" + data + "</div>");
    ...

}

function removeCrossRef(refPid) {
    $("#crRef_" + refPid).remove();
}​

附加信息

ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_") , 冒号 (":") 和句点 (".")。

参考:http ://www.w3.org/TR/html4/types.html

于 2012-06-08T19:54:12.220 回答
-3
$("#crossRefRemoveButton").addEventListener('click',function(){
   removeCrossRef(rmFxnParam);
});
于 2012-06-08T19:53:32.653 回答