有什麼方法可以遍歷DOM中的一個圓?就像,當你到達列表的末尾時,它會回到起點?在jQuery中循環遍歷?
下面是一個例子,這是不行的,但將有希望說明我想達到的效果:
<ul>
<li></li>
<li></li>
<li></li>
<li class="four"></li>
</ul>
$('li.four').next().addClass('one');
有什麼方法可以遍歷DOM中的一個圓?就像,當你到達列表的末尾時,它會回到起點?在jQuery中循環遍歷?
下面是一個例子,這是不行的,但將有希望說明我想達到的效果:
<ul>
<li></li>
<li></li>
<li></li>
<li class="four"></li>
</ul>
$('li.four').next().addClass('one');
沒有什麼內置的,但你可以平凡寫你自己的方法;
jQuery.fn.nextOrFirst = function (selector) {
var next = this.next.apply(this, arguments);
if (!next.length) {
var siblings = this.siblings();
if (selector) {
siblings = siblings.filter(selector);
}
next = siblings.first();
}
return next;
};
然後使用像(http://jsfiddle.net/sszRN/);
$('li.four').nextOrFirst().addClass('one');
不完全知道你是問什麼,或者想在這裏實現,但如果你只是想添加一個類的第一個元素,你可以做到這一點
遍歷DOM尋父元素
找到該元素的第一個孩子 - 這樣
$('li.four').parent().find(">:first-child").addClass('one');
我有時用
var $next = $($(this).next()[0] || $(this).prevAll().addBack()[0]);
是啊,瘋狂:d
[鏈接] http://stackoverflow.com/questions/10004593/how-jquery-data-breaks-circular-reference – pl71