将类添加到具有特定后代的元素

时间:2014-07-07 20:57:01

标签: jquery html

我有以下代码由Simple Html Dom Parser生成:

<a href='....'>
   <div class='test'>...</div>
</a>

如何向a元素添加类?我认为我可以用Jquery做到这一点吗?

我只需要为具有div&class 39的div的元素添加一个类&#39; test&#39;作为后代。

4 个答案:

答案 0 :(得分:4)

要么

$('.test').parent().addClass('whatever');

或者

 $('.test').closest('a').addClass('whatever');

第一个如果你知道a元素是父元素,第二个如果你只知道a元素包含,甚至多个级别,.test

答案 1 :(得分:1)

您可以使用parent方法:

$('.test').parent().addClass('my-class');

或者没有jQuery:

/* On one element. */
document.querySelector('.test').parentNode.classList.add('my-class') ;
/* On all elements. */
[].forEach.call(document.querySelectorAll('.test'), function (div) {
    div.parentNode.classList.add('my-class');
});

答案 2 :(得分:0)

在vanilla JS中,还考虑到.test可能是一个后代而不是孩子:

[].forEach.call(document.getElementsByTagName('a'), function(node) {
    if ( node.querySelector('.test') )
        node.classList.add('foo')
})

答案 3 :(得分:0)

添加班级
    $(&#39;。测试&#39)。亲本()addClass(&#39; yourClass&#39;);

删除班级     $(&#39;。测试&#39)。亲本()removeClass(&#39; yourClass&#39);