我有这个功能:
jQuery.fn.getParent = function(num) {
var last = this[0];
for (var i = 0; i < num; i++) {
last = last.parentNode;
}
return jQuery(last);
};
和这个html:
<div class="statuscontainer">
<div class="title">
Title of div here
</div>
blah blah blah blah <br>
<a onclick="$(this).getParent(4).fadeTo("slow",.3);">fade only this div</a>
</div>
<div class="statuscontainer">
<div class="title">
Title of div here
</div>
blah blah blah blah <br>
<a onclick="$(this).getParent(4).fadeTo("slow",.3);">fade only this div</a>
</div>
我想要的是,每个链接应该淡化它的主要status容器div而不是所有其他div,这是使用jQuery GetParent完成的。
这在firefox / chrome / safari中效果很好,但是在IE 7/8中,只有等等等等和链接都褪色而不是整个“statuscontainer”。
你有什么建议?
由于
答案 0 :(得分:1)
答案 1 :(得分:1)
谢谢大家,我发现解决方案,一些没有褪色的div,位于“相对”,一旦我删除了定位,它就起作用了:)
由于
答案 2 :(得分:0)
为什么不使用jQuery('theElementSelector').parents(':eq(3)');
注意我并没有看到你实际使用的是什么索引,但它应该是3或4依赖。
答案 3 :(得分:0)
我建议改用$(this).closest('.statuscontainer').fadeTo()
。这样,无论<a>
在DOM中的哪个位置 - 它都会在父母中找到最接近的.statuscontainer
。 .closest()
docs