我有以下标记。
<div class="block" my_id="1">1</div>
<div class="block first" my_id="2">2</div>
<div class="block" my_id="3">3</div>
<div class="block" my_id="4">4</div>
<div class="block last" my_id="5">5</div>
<div class="block" my_id="6">6</div>
我想在my_id
和first
类之间选择last
的值,并将它们存储在一个对象中。在这种情况下,它将是2,3,4,5。
var number_store = [];
$('.first').nextUntil('last').attr('my_id')//??
我将如何实现这一目标?
谢谢!
答案 0 :(得分:1)
你可以使用.each()并将属性值添加到ex。
的数组中var number_store = [];
$('.first').nextUntil('last').each(function(){
number_store.push($(this).attr('my_id'));
});
答案 1 :(得分:1)
my_id
is not a valid HTML attribute。您应该使用data-*
属性来存储自定义值。
使用jQuery的.andSelf()
方法同时包含.first
和.last
元素。
编辑(感谢您的评论)
.andSelf()
这个函数已被弃用,现在是.addBack()
的别名,应该与jQuery 1.8及更高版本一起使用。
var number_store = $('.first').nextUntil('.last').addBack().next().addBack().map(function(){
return $(this).attr('data-id');
}).get();
console.log(number_store);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="block" data-id="1">1</div>
<div class="block first" data-id="2">2</div>
<div class="block" data-id="3">3</div>
<div class="block" data-id="4">4</div>
<div class="block last" data-id="5">5</div>
<div class="block" data-id="6">6</div>
&#13;
number_store
将保留一个数组。
其他参考资料: