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

时间:2011-12-21 21:15:57

标签: jquery

为什么下面的代码在IE中不起作用的任何想法,但在FF和Chrome中它确实如此:

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

如果我尝试:

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

我在FF& Chrome但不是IE。

任何想法都需要以不同的方式完成?

3 个答案:

答案 0 :(得分:1)

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

要设置shure,您要删除树中的右父元素及其子元素,您可以尝试这样做:

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

您可能会觉得这很有用:What is the difference between the bind and live methods in jQuery?

P.S。我建议你只使用$('.remove'),因为我看不出你为什么要$('.remove, #ccusers')做任何理由,因为它实际上意味着:
 元素.remove或元素#ccusers

通过执行:$('.element' , '#element')(查看引号!),您的“第二个”元素将执行 absolutely NOTHING ! (像这里建议的那样)。

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

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

DEMO jsBin

(下载并在IE中试用)

答案 1 :(得分:0)

<强> HTML

<div id="ccusers">
    <span>User1</span>
    <span>User2</span>
    <div class="remove">Remove</div>
</div>

<强> JS

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

在IE7中为我工作正常,请看小提琴:http://jsfiddle.net/c4urself/NrKRF/

答案 2 :(得分:-3)

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

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