jquery nextUntil有元素

时间:2010-05-14 07:09:08

标签: jquery jquery-selectors jquery-traversing

我有很多这样的元素:

<div></div>
<span></span>
<table></table>
<div></div>
<span></span>
<div></div>

我需要检查div之间是否有表格元素,如果有的话。

$('div').each(function () {
  if ($(this).nextUntil('div').include('table')) {
    $(this).addClass('got-a-table');
  }
}

这样的东西?我知道没有包含方法,有什么东西可以让我得到我需要的东西吗?

感谢。

结果应该是这样的:

<div class='got-a-table'></div>
<span></span>
<table></table>
<div></div>
<span></span>
<div></div>

编辑:快速测试的jsbin:http://jsbin.com/aqoha/2/edit

2 个答案:

答案 0 :(得分:2)

$('div').each(function () {
  if ($(this).nextUntil('div').filter('table').length > 0) {
    $(this).addClass('got-a-table');
  }
});

而不是include(),你想要filter()。

答案 1 :(得分:0)

$('div').each(function () {
   var table = $(this).next('table');
   if (table) {
       if (table.next('div')){
            // do something.
       }       
   }
});