jQuery删除函数没有做任何事情

时间:2013-09-13 11:09:52

标签: jquery html

我的jquery中有一个函数,它会在点击链接时附加一个新的选择类。 我现在要做的是在用户决定不使用此选择功能的情况下,单击按钮删除此类。

我的追加功能就像这样:

$("#newsublevel").click(function() {
        $(".navoptions").append('<br/><select class="hello"><option value="Home">Home</option><option value="Home">Home</option><option value="Home">Home</option><option value="Home">Home</option><option value="Home">Home</option></select><a href="#" class="remove">Remove</a>');
    });

我在删除功能上有这个,但这根本不起作用:

$(".remove").click(function() {
        $(".hello").remove();
    });

如何有效删除超链接所指的选择框?我试过两种不同的方法来取消这个没有成功的任何想法?

add.html

<div class="maincontent">
<h2 class="sitemaphead">Sitemap</h2>
<p>Add a sub level to About.</a></p>
<div class="navoptions">
<select>
<option value-"Home">Home</option>
<option value-"Home">Home</option>
<option value-"Home">Home</option>
<option value-"Home">Home</option>
<option value-"Home">Home</option>
<option value-"Home">Home</option>
<option value-"Home">Home</option>
</select>
</div>
<p id=""><a href="#" id="newsublevel">Click here</a> to add another sub level</p>

</div>  

4 个答案:

答案 0 :(得分:3)

尝试.on()

$(".navoptions").on('click','.remove',function() {
     $(".hello").remove();
});

答案 1 :(得分:1)

试试这个

$('.navoptions').on('click', '.remove', function () {
    $(this).prev().remove().end().remove();
});

DEMO

答案 2 :(得分:1)

由于SELECT对象是动态添加的,因此在创建初始DOM之后,它与任何侦听器都没有关联。[在你的情况下是onClick]。

与其他建议一样,使用“.on”动态添加侦听器。您可以在此处找到相关文档。 http://api.jquery.com/on/

答案 3 :(得分:0)

$(".navoptions").on('click','.remove',function() {
        $(".hello").remove();
});

参考On