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は選択を停止する場所で、2 番目の引数は一致する要素です。

フィドルをチェック

于 2013-08-07T21:53:50.157 に答える
0

最初の 3 div、status=0 のみ

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