我有这样的事情:
<div class="htx">
<div>string</div>
</div>
<div class="htx">
<div>string</div>
</div>
<div class="htx">
<div>otherString</div>
</div>
<div class="htx">
<div>string</div>
</div>
我想在包含otherString
的那个之前选择所有htx类元素var res = $('.htx:contains("otherString")');
var sec = res.prevAll();
这不起作用。
答案 0 :(得分:0)
您可以使用:
var res = $('.htx:contains("otherString")');
var sec = res.prevAll('.htx');
答案 1 :(得分:0)
jsfiddle(使用问题+ console.log中的确切代码)
按预期工作,console.log(sec.toArray());
显示您正在寻找的2个div
答案 2 :(得分:0)
就像那样,
var res = $('.htx div:contains(otherString)');
var sec = res.prevAll();
答案 3 :(得分:0)
使用纯JavaScript可以执行此操作:
var all = document.getElementsByClassName('htx');
for (i = 0; i < all.length; i++) {
if (all[i].getElementsByTagName('div')[0].innerHTML == 'otherString') {
break
} else {
all[i].style.backgroundColor = 'sienna';
}
}
答案 4 :(得分:0)
在jquery中尝试这个:
var l = $(".htx").lenght;
var elements ="";
for(var i=i; i<=l; i++)
{
if($(".htx:nth-child('" + i + "')").children("div").text() == "otherString")
break;
else
elements += $(".htx:nth-child('+i+')");
}
希望这有帮助。