0

我有一个css类被应用于一个div中的所有链接,类为“linkroll”:

var selector = '.linkroll a';

我试图阻止将此类添加到 div 中的任何超链接图像中。我该怎么做呢?

就像,我不希望这个类应用:

<div class="linkroll"><a href="#somelink"><img src="someimg.jpg"></a></div>

var selector = '.linkroll a';
// if selector is not image, then do something...
4

3 回答 3

1

CSS 只能沿着 DOM 树向下,因此您不能添加基于子元素的类,只能添加父元素。但是,您可以使用 jQuery 来执行此操作filter()

$('.linkroll a').filter(function() {
    return $(this).children('img').length == 0;
}).addClass('foo');

示例小提琴

于 2013-10-22T12:49:44.940 回答
0

$('.linkroll a').filter(function() {

return $(this).attr('href');

}).parent().removeClass('linkroll');

示例小提琴

于 2013-10-22T13:29:33.437 回答
0

我有一个 css 类应用于 div 中的所有链接,类为“linkroll”

这意味着它已经应用了,所以我想现在你想摆脱那个类:

现场演示

$('.linkroll a > img').closest('div').removeClass('linkroll');
于 2013-10-22T13:42:04.867 回答