【发布时间】:2014-07-09 19:19:20
【问题描述】:
我正在尝试使用has() 来循环遍历一系列<div> 元素以确定该元素是否具有特定类,然后使用next() 循环到下一个元素。我没有使用hasClass(),因为它返回true/false,并且我试图将所选元素存储为变量,以便稍后在函数中使用以测试它是否是最后一个。我可以很好地使用错误的选择器。
这是示例标记:
<div class="hello"><p>Hello 1</p></div>
<div class="hello slide"><p>Hello 2</p></div>
<div class="hello"><p>Hello 3</p></div>
<a href="javascript:void(0);" class="next">NEXT ONE!</a>
还有 JQuery 示例:
$('.next').click(function() {
var current = $('.hello').has('.slide');
var nextUp = $('.hello').has('.slide').next();
if( nextUp == '' ) {
$('.hello:first').addClass('slide');
$('.hello:last').removeClass('slide');
} else {
$(nextUp).addClass('slide');
$(current).removeClass('slide');
}
});
所以,我想查看类为.hello 的元素是否具有类.slide,如果是,则查找类为.hello 的next() 兄弟。
然后,我的想法是,如果没有next(),则使用:last 和:first 元素执行操作。请指教。
JS FIDDLE - http://jsfiddle.net/c4ZNm/
【问题讨论】:
-
has()寻找后代,如有疑问请检查 jQuery API api.jquery.com
标签: jquery jquery-selectors next