是否有一种比循环遍历所有div更有效的方法并检查宽度以找到宽度为>的最后一个。 0?
以下是我正在经历的一个例子,我使用此调用得到了这个:
// My Call
$( ".pct-slider#tuesdaySlider" ).find(".color-region")
// Example result of above call
[<div class="color-region" style="width: 1;"></div>,
<div class="color-region" style="width: 2;"></div>
<div class="color-region" style="width: 3;"></div>
<div class="color-region" style="width: 4;"></div>
<div class="color-region" style="width: 0;"></div>
<div class="color-region" style="width: 0;"></div>]
循环我会找到宽度为4的第4个div。有什么我可以更改/添加到我的$(“。pct-slider #tuesdaySlider”)。find(“。color-region”)调用以获取最后一个div宽度> 0合1或只是没有循环?
答案 0 :(得分:2)
我能想到的最好的事情就是向后开始。所以
var reversed =
$(".pct-slider#tuesdaySlider").find(".color-region").get().reverse();
$(reversed).each(function() {
if ($(this).width() > 0) {
....
}
});
<强>更新强>
如果您的HTML
总是喜欢
<div class="color-region" style="width: 0;"></div>
<div class="color-region" style="width: 0;">
你可以做到
$(".pct-slider#tuesdaySlider")
.find('.color-region:not([style="width: 0;"]):last')
答案 1 :(得分:2)
$( ".pct-slider#tuesdaySlider" ).find(".color-region").not(function () { return !$(this).width(); }).last();
答案 2 :(得分:1)
您可以使用:last
$(".color-region:last").width()
这将返回具有类名color-region
修改强>
var lastDiv = $(".color-region").filter(function() {
return $(this).width > 0
}).last();
答案 3 :(得分:1)