删除不起作用JQuery

时间:2014-09-03 11:39:32

标签: javascript jquery

我试图通过ID删除<a> </a>元素,ID存储在变量中,如下所示:

function deleteme(counter) {

        alert("Möchten sie wirklick das blau markierte Kreuz löschen?");
         $('<a id=' + counter + '> </a>').remove(); 
    }

这是HTML,我尝试删除

    <a id="1">
    <p>ID von 1 XPosition 240, YPosition 53<img src="any.jpg" onclick="deleteme(1)"</p>
    </a>

我确实制作了alert(counter)来检查它是否具有正确的ID。它有。

我该如何解决这个问题?

5 个答案:

答案 0 :(得分:5)

您正在$('<a id=' + counter + '> </a>')创建一个新元素。

要选择并删除现有文件,请执行

$('#' + counter).remove(); 

答案 1 :(得分:0)

只使用Id选择器

function deleteme(counter) {    
            alert("Möchten sie wirklick das blau markierte Kreuz löschen?");
             $('#'+ counter).remove(); 
        }

答案 2 :(得分:0)

您在$()

中滥用了选择器

像这样使用:

$('#' + counter)

始终在$中使用css-selectos,html-tags将无效。

如果您对CSS-Selectors一无所知,我建议您介绍一下css,就像在codeacademy上一样。

另外,我很确定ID不能以数字开头 - 考虑将其重命名为“p1”或“paragraph1”或类似的东西。

一般来说,我强烈建议http://www.codecademy.com/en/tracks/jquery此链接。

答案 3 :(得分:0)

内联html属性事件处理程序只能调用全局函数。你的deleteme函数不是全局的,因为它是在你的文档就绪处理程序中定义的,所以你的onclick =&#34; deleteme()&#34;找不到它。您需要将函数移动到ready处理程序之外(使其成为全局),或者更好的是,使用jQuery绑定单击

$("#id").click(function () {
    $('#' + counter).remove();
});

答案 4 :(得分:0)

这样可以在多个要删除的元素中调用该函数

<强> HTML

<a id="1">
   <p>ID von 1 XPosition 240, YPosition 53<img src="any.jpg" onclick="javascript:deleteme($(this))"/></p>
</a>

<强>的Javascript

function deleteme(counter) {
    alert("Möchten sie wirklick das blau markierte Kreuz löschen?");
    counter.parent('a').remove(); 
}