【问题标题】:getParent function not working in iegetParent 函数在 ie 中不起作用
【发布时间】:2011-11-24 15:40:35
【问题描述】:

我有这个功能:

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>

我想要的是,每个链接都应该淡出它的主要状态容器 div 而不是所有其他 div,这是使用 jQuery GetParent 完成的。

这在 firefox/chrome/safari 中效果很好,但在 IE 7/8 中,只有 blah blah blah 和链接会褪色,而不是整个“statuscontainer”。

你有什么建议?

谢谢

【问题讨论】:

    标签: javascript jquery html css cross-browser


    【解决方案1】:

    我看不出代码有什么问题,看起来很简单。

    也许使用这些 JQuery 函数之一有帮助?

    我假设作为 JQuery 的核心功能,任何跨浏览器的问题都可能在那里得到解决。

    【讨论】:

    • 感谢您的回答,我刚刚意识到故事容器中的其他一些 div 并没有消失的问题!我不知道为什么只在 IE 中
    • 也许是因为他们没有布局(尝试zoom: 1 CSS 属性)或类似的东西? IE 经常会出现褪色元素的问题。
    【解决方案2】:

    谢谢大家,我找到了解决方案,一些不褪色的div被定位在“相对”中,一旦我删除了定位,它就起作用了:)

    谢谢

    【讨论】:

      【解决方案3】:

      为什么不直接使用 jQuery('theElementSelector').parents(':eq(3)'); 请注意,我没有查看您实际使用的索引,但它应该是 3 或 4,具体取决于。

      【讨论】:

      • 感谢您的回答,我刚刚意识到故事容器中的其他一些 div 并没有消失的问题!我不知道为什么只在 IE 中
      【解决方案4】:

      我建议改用$(this).closest('.statuscontainer').fadeTo()。这样,无论 &lt;a&gt; 在 DOM 中的哪个位置 - 它都会在父母中找到最接近的 .statuscontainer.closest() docs

      【讨论】:

      • 感谢您的回答,我刚刚意识到故事容器中的其他一些 div 并没有消失的问题!我不知道为什么只在 IE 中
      猜你喜欢
      • 2011-08-31
      • 2010-11-03
      • 2011-10-16
      • 2013-01-27
      • 2012-07-21
      • 2010-10-20
      • 2012-04-04
      • 1970-01-01
      • 2014-04-14
      相关资源
      最近更新 更多