Javascript 循环直到遇到一个类,然后做一些事情
如何使用循环将所有Javascript 循环直到遇到一个类,然后做一些事情,javascript,html,zepto,Javascript,Html,Zepto,如何使用循环将所有p设置为class=“here”红色 <p>1</p> <p>2</p> <p>3</p> <p class="here">4</p> <p>5</p> 像这样的 $('p').prevUntil('.here').css('color', 'red'); 如果只想更改特定元素,可以添加第二个参数: $('p').prevUntil('.here', '
p
设置为class=“here”
红色
<p>1</p>
<p>2</p>
<p>3</p>
<p class="here">4</p>
<p>5</p>
像这样的
$('p').prevUntil('.here').css('color', 'red');
如果只想更改特定元素,可以添加第二个参数:
$('p').prevUntil('.here', 'p').css('color', 'red');
函数previtil()
将选择除与选择器匹配的元素之外的元素的所有先前同级
参考
可能有更好的方法,但这会奏效:
$('p:eq(0)').addClass('red').nextUntil('here').addClass('red')代码>
.red{
颜色:红色;
}
一,
二,
三,
4
5
如果您知道索引,您可以使用小于运算符lt(索引)
$('p:lt(4)').css('color', 'red');
您可以在这里获得。这里
索引并使用lt
:
$('p:lt(' + $('p.here').index() + ')').css('color', 'red');
尝试排除处的选择器:not()
,返回筛选的集合
$(“p:not(.here,.here~p)”).css(“color”,“red”)代码>
。在这里{
边框:1px实心;
}
p{
颜色:蓝色;
显示:内联块;
}
一,
二,
三,
4
5
或
css:
为什么要使用循环<代码>$('.here').css('color','red')如果您知道索引,请使用$('p').eq(3).css(我相信OP希望匹配类的所有元素都变为红色。不仅仅是匹配类。@AnoopJoshi我的数据是动态的,不能这样做。这些元素都在一个容器中吗?sad zepto没有这个函数。@AaronMusktin这将是你问题中的一个很好的信息。在使用之前,我必须使用循环。)zepto@AaronMusktin好的,我I’我会看的,但你可能应该在你的问题中加上这个
document.getElementsByTagName("p")[3].setAttribute('class','here');
document.getElementById("container").getElementsByTagName("p")[3].setAttribute('class','here');
.here{
color:red;
}