在 Jquery 或 JavaScript 中有.hasNext()
之类的功能。我有代码:
function showArrowClick() {
var activeContact = $('.contact.white_bg');
activeContact.removeClass('white_bg');
activeContact.next().addClass('white_bg');
}
和父div是
<div class="list">
<div class="contact white_bg all_contacts">All</div>
<div class="contact">Contact1</div>
<div class="contact">Contact2</div>
</div>
点击最后一个div需要做某事。我该怎么办?
答案 0 :(得分:2)
您可能想要:last-child
。
$('a').click(function() {
$('.list .contact:last-child').doSomething();
});
编辑:
或者,如果你的意思是点击最后一个孩子......
$('.list .contact:last-child').click(function() {
$(this).doSomething();
});
答案 1 :(得分:1)
您可以尝试.next()
进行检查。 read more。与.length
方法一起使用可以检查DOM上是否还有其他项目。
示例代码
alert($('div.contact').next().length);
答案 2 :(得分:1)
当您尝试选择元素时,您应该验证是否有任何元素:
function showArrowClick() {
var activeContact = $('.contact.white_bg');
if(activeContact.next('div.contact').length > 0) {
activeContact.removeClass('white_bg');
activeContact.next().addClass('white_bg');
}
}
答案 3 :(得分:1)
尝试类似的东西
$('.list').find("div.contact:last").addClass('white_bg');
<强>第二强>
$('.list .contact:last-child').addClass('white_bg');
答案 4 :(得分:1)
你看过$.fn.nextAll()吗?
答案 5 :(得分:1)
使用:last-child选择器
$(".list div:last-child").on('click', function(){
//Do something
});
答案 6 :(得分:1)
function showArrowClick() {
var activeContact = $('.contact.white_bg');
var index = activeContact.index();
if (index === $(".contact.white_bg").children().length - 1) {
// Current seleceted is the last div
}
activeContact.removeClass('white_bg');
activeContact.next().addClass('white_bg');
}