jQuery删除Chrome中最近期的问题

时间:2016-11-07 00:07:58

标签: javascript jquery wordpress google-chrome cross-browser

Noob抱歉。当我的WP循环返回带有特定类的空消息时,我正在尝试删除祖先。 Firefox正在按预期显示,删除了所需的DOM,但Chrome正在删除目标元素,而不是祖先。

基本HTML标记:

<div id="content" class="container site-content">
  <div id="primary" class="main-content">
    <div id="main-box-1" class="main-box border-top">
      <div class="main-box-inside">
        <p class="no-modules-msg">No posts match your criteria. Please choose different options.</p>
      </div>
    </div>
    <div id="main-box-2" class="main-box border-top  ">
      <h3 class="main-box-title">More Stuff</h3>
      <div class="main-box-inside">
      </div>
    </div>
  </div>
</div>

我的剧本:

(function($) {
  $("document.body").ready(function() {
    $("p.no-modules-msg")
      .closest(".main-box")
      .remove(".main-box")
  })
})(jQuery);

它在小提琴中正常工作,但不在现场工作......

https://jsfiddle.net/y90gtt6t/

1 个答案:

答案 0 :(得分:3)

它不能在您的网站上运行的原因是因为文档很清楚,只有document有一个现成的处理程序

jQuery(document).ready(function($) {
    $("p.no-modules-msg").closest(".main-box").remove()
});

您对"document.body"的使用实际上会查找像<document class="body"></document>这样的元素,希望它永远找不到。