简体   繁体   English

使用CSS或js使用动态选择器选择任何li的下一个元素

[英]Select next element of any li with the dynamic selector using CSS or js

I can't find out the way to get this. 我找不到解决办法。

<ul>
    <li class=""></li>
    <li class=""></li>
    <li class=""></li>
    <li class=""></li>
    <li class=""></li>
    <li class=""></li>
    <li class=""></li>
    <li class=""></li>
</ul>

And apply dynamic class to li onclick using js. 并使用js将动态类应用于li onclick。 then select the next li to apply some extra css. 然后选择下一个li来应用一些额外的CSS。

<ul>
    <li class=""></li>
    <li class=""></li>
    <li class=""></li>
    <li class="test"></li>

    *******<li class=""></li>

    <li class=""></li>
    <li class=""></li>
    <li class=""></li>
</ul>

Now i want to apply css on *******li. 现在我想在******* li上应用CSS。

Hope my question is clear. 希望我的问题清楚。 Thanks in advance. 提前致谢。

you can use css selectors in javascript, so you can do something like this: 您可以在javascript中使用css选择器,因此可以执行以下操作:

var yourListItem = document.querySelector("li.test + li");

here's a fiddle for you 这是给你的小提琴

$("li").on("click", function(){
  $(this).addClass("yourclass");
  $(this).next("li").css("backgroung-color","red"); //add css
});

.next can only return the immediate next sibling .next只能返回下一个兄弟姐妹

$('li.test').on('click', function() {
    $('li.test').next('li').css("color", "red");
});

and to change the color of ******* you need to put them in li tag, as follows: 并更改*******的颜色,需要将它们放在li标记中,如下所示:

<li class="">*******</li>

Also you can use $(this) instead of $('li.test') as said by @empiric 您也可以使用$(this)代替$('li.test'),如@empiric所说

I think no need for jquery use the css tag that will do the same thing 我认为不需要jquery使用将执行相同操作的css标签

it will Select <li> elements that are placed immediately after .test class 它将选择<li>放在.test类之后的元素

ex: http://jsfiddle.net/Muthukumaru/q64tLhf5/ 例如: http//jsfiddle.net/Muthukumaru/q64tLhf5/

 li.test + li{
   **Your css styles **
 }

use below cod . 在鳕鱼下面使用。 read more about next() 阅读有关next()的更多信息

check DEMO 检查演示

 $(document).ready(function(){
  $('li.test').next('li').css('color','red');
 });

For click event 对于点击事件

 $(document).ready(function(){
   $('li.test').on('click',function(){
    $(this).next('li').css('color','red');
   });
 });

you should try like this 你应该这样尝试

  $(document).ready(function(){ $('li.test').next('li').css('color','green') }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li class=""></li> <li class=""></li> <li class=""></li> <li class="test"></li> <li class=""></li> <li class=""></li> <li class=""></li> <li class=""></li> </ul> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 jQuery使用.next(&#39;。selector&#39;)选择下一个.selector元素 - JQuery select next .selector element using .next('.selector') CSS / JS选择器 - 选择类不等于的最后一个元素 - CSS/JS selector - Select last element where class is not equal to DOM CSS 选择器:如果 li 具有活动 class,如何将 select 设为父元素的兄弟 - DOM CSS selector: how to select a sibling of a parent element if the li has active class 如何使用动态选择器选择元素? - How to select an element with dynamic selector? javascript中是否有任何内置函数可以使用类选择器或元素选择器选择最后一个元素? - Is there any inbuild function in javascript to select last element with using class selector or element selector? 如何使用 CSS 属性选择器 select vue js el? - How to select the vue js el using CSS attribute selector? 触发onclick的元素的下一个元素的CSS选择器? - CSS selector for the next element of an element which fires onclick? 使用jQuery如何选择匹配某个选择器的第一个下一个元素? - Using jQuery how to select the first next element(s) that matches a certain selector? 如何使用 CSS 标签作为选择器 select 某个元素/元素块? - How can I select a certain element/element block using their CSS tag as selector? 不使用jQuery选择第一个li元素 - not select first li element using jquery
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM