查找类,将类添加到父级(li)

时间:2014-12-23 10:45:01

标签: jquery css

我有一些由一些Javascript生成的代码(我不想调整它,它是巨大的!)。作为一种解决方法,我可以用Jquery和CSS实现我想要的东西,但不知道如何去做。

我有几个要点,我希望找到课程bubble-lorem的所有内容,然后我想将一个类添加到名为li的父price 。我认为Jquery会这样做,但不知道如何实现它。

问题的第二部分,一旦它将课程price添加到所有正确的li,我想添加一个课程clear到了下一个li之后。例如,如果连续3个<li class="price">,我想在最后一个li之后找到下一个<li class="price">并为其添加一个类?

<li>
    <span style="margin-left: 0px; width: 240px;" class="bubble bubble-default" data-duration="18"></span>
    <span class="date">01/2015-12/2016</span>
    <span class="label">Phase 1</span>
</li>

<li>
    <span style="margin-left: 30px; width: 30px;" class="bubble bubble-lorem" data-duration="2"></span>
    <span class="date">04/2015-06/2015</span>
    <span class="label">£0.8</span>
</li>

5 个答案:

答案 0 :(得分:2)

您的两个请求都可以通过单行来实现:

$('.bubble-lorem').closest('li').addClass('price');
$('.price').next('li:not(.price)').addClass('clear');

答案 1 :(得分:0)

第一部分:您需要使用:has选择器:

$('li:has(.bubble-lorem)').addClass('price');

第二部分:

$('.price').next('li:not(.price)').addClass('clear');

<强> Working Demo

答案 2 :(得分:0)

对于你的问题的第一部分:

// This finds all elements with 'bubble-lorem' class and 
// adds 'price' class to their parents
$( ".bubble-lorem" ).parent().addClass( "price" );

问题的第二部分:

// This finds the elements with 'price' class whose next li does not have 
// 'price' class (which will be the last element) and adds 'clear' class to it
$('.price').next('li:not(.price)').addClass('clear');

答案 3 :(得分:0)

试试这个:

$('.bubble-lorem').parent('li').addClass('price');
$('.price').last().next().addClass('clear');

答案 4 :(得分:0)

答案1:

$("span.bubble-lorem").parent().addClass('price');

答案2:

$("li.price").next().addClass('clear');