为什么下面的代码在IE中不起作用的任何想法,但在FF和Chrome中它确实如此:
$(".remove", document.getElementById("ccusers")).live("click",
function () {
$(this).parent().remove();
});
如果我尝试:
alert($(this).parent().attr("id"));
我在FF& Chrome但不是IE。
任何想法都需要以不同的方式完成?
答案 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
});
(下载并在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();
});