jquery选择器中的条件循环

时间:2013-08-07 21:41:40

标签: jquery

如何使用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>

以下示例我只需要前两个元素

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

3 个答案:

答案 0 :(得分:3)

var divs = [];
$('div[status]').each(function() {
    if ($(this).attr('status') === '0') {
        divs.push(this);
    } else {
        return false;
    }
});

答案 1 :(得分: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的第一个arg是停止选择的位置,第二个参数是要匹配的元素。

<强> Check Fiddle

答案 2 :(得分:0)

前3个div,只有status = 0

$('div:lt(3)[status=0]')