1

我试图在单击“头”时隐藏“arrow_o”,但它不起作用。jquery“孩子”在表中不起作用吗?

html

<thead class="thead">
  <tr>
    <th>
      <div class="arrow_o"></div>
    </th>
  </tr>
</thead>

js

$(document).ready(function() {
  $('.thead').click(function() {
    $(this).children('.arrow_o').hide();
  });
});
4

3 回答 3

5

.children() 方法与 .find() 的不同之处在于 .children() 仅沿 DOM 树向下移动一个级别,而 .find() 也可以向下遍历多个级别以选择后代元素(孙子等)。

所以这:

$(document).ready(function() {
  $('.thead').click(function() {
    $(this).find('.arrow_o').hide();
  });
});
于 2012-11-26T20:49:41.763 回答
2

试试$('.arrow_o', this).hide();这基本上设置了arrow_o应该位于的上下文。

完整代码:

$(document).ready(function() {
  $('.thead').click(function() {
     $('.arrow_o', this).hide();
  });
});
于 2012-11-26T20:49:38.307 回答
2

.children() 方法与 .find() 的不同之处在于 .children() 仅沿 DOM 树向下移动一个级别,而 .find() 也可以向下遍历多个级别以选择后代元素(孙子等)。

jQuery 孩子

使用.find()代替。

于 2012-11-26T20:49:48.840 回答