1

如何使用 jquery 在以下示例中选择前 3 个 div 元素?

我想选择 status = 0 的 div 元素,直到遇到任何其他值。

<div status='0'></div>
<div status='0'></div>
<div status='0'></div>
<div status='1'></div>
<div status='0'></div>

下面的例子我只需要前 2 个元素

<div status='0'></div>
<div status='0'></div>
<div status='1'></div>
<div status='1'></div>
<div status='0'></div>
4

3 回答 3

3
var divs = [];
$('div[status]').each(function() {
    if ($(this).attr('status') === '0') {
        divs.push(this);
    } else {
        return false;
    }
});
于 2013-08-07T21:50:29.810 回答
1

尝试这个

// Get the first div with status
var $first = $('div[status]').eq(0);
// value of first, so that it works with any status condition
// not just status="1"
var initial = $first.attr('status');
console.log(initial);

$first
  .nextUntil('div[status!='+ initial +']', 'div[status='+ initial +']')
  .andSelf().css('background', 'red');

第一个参数nextUntill是在哪里停止选择,第二个参数是要匹配的元素。

检查小提琴

于 2013-08-07T21:53:50.157 回答
0

前 3 个 div,只有 status=0

$('div:lt(3)[status=0]')
于 2013-08-07T21:47:42.600 回答