2012-06-08 74 views
2

基本上,我想要有两个功能。第一个预先包含一个元素div,其中包含一些ajax数据和一个可以触发关闭函数的按钮。第一个函数完成我想要的任何事情,除了我在遇到难以应用的onclick属性时,它将在单击时触发删除功能。jquery删除前置元素不工作

但独立于此,我一直无法获得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(); 

    }​ 

回答

-3
$("#crossRefRemoveButton").addEventListener('click',function(){ 
    removeCrossRef(rmFxnParam); 
}); 
+1

为什么这给予减1? – Jeff

+0

是的我想知道为什么这不起作用。对于课程 –

+1

学习的目的,我可以给它一个减2,如果这有帮助... nvm我退出了投票:D。 jQuery对象没有方法'.addEventListener'。他们有'.on'方法。所以这可能是一个原因。 – Esailija

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和名称标记必须以字母开头([A-ZA-Z]),并且可以是 后面跟着任意数量的字母,数字([0-9]),连字符(“ - ”), 下划线(“_”),冒号(“:”)和句点(“。”)。

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

+0

哦,我的天哪是一个愚蠢的错误。我不知道我头撞墙的时间有多久,但是'.attr'仍然没有工作,尽管我觉得我早些时候有这个工作,即使它不是一个非常优雅的方法。 – Jeff

+0

@J效果,它恰好***所有人***。当然,从上次开始我就没有发生过:) –