$(本).parent()remove()方法。 不在IE工作

任何想法为什么下面的代码不能在IE中工作,但在FF和Chrome它做:

$(".remove", document.getElementById("ccusers")).live("click", function () { $(this).parent().remove(); }); 

如果我尝试:

 alert($(this).parent().attr("id")); 

我在FF和Chrome中提醒了ID而不是IE。

有什么想法需要以不同的方式完成吗?

 $(".remove, #ccusers").bind("click", function () { $(this).parent().remove(); }); 

要设置shure,你要删除树中的右父元素及其子元素,你可以试试这个:

 $(this).parents('theParentYouWantToRemove').remove(); 

您可能会发现这很有用: jQuery中的bind和live方法有什么区别?

PS我建议你只使用$('.remove') ,因为我没有看到你为什么要做$('.remove, #ccusers') ,因为它实际上意味着:
元素.remove OR element #ccusers

通过这样做: $('.element' , '#element') (看看引号!)你的’第二’元素将绝对没有 ! (像这里建议的那样)。

所以我唯一有效的建议是:

 $(".remove").bind("click", function () { $(this).parents('#ccusers').remove(); // or .parent() as I explained above }); 

DEMO jsBin

(下载并在IE中试用)

HTML

 
User1 User2
Remove

JS

 $(".remove", "#ccusers").live("click", function() { $(this).parent().remove(); }); 

在IE7中对我来说很好用,请看小提琴: http : //jsfiddle.net/c4urself/NrKRF/

如果你是gunna使用jQuery。 使用 jQuery:

  $(".remove", "#ccusers").live("click", function () { $(this).parent().remove(); });