Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何确定图像是否超链接?_Javascript_Jquery_Html_Css_Hyperlink - Fatal编程技术网

Javascript 如何确定图像是否超链接?

Javascript 如何确定图像是否超链接?,javascript,jquery,html,css,hyperlink,Javascript,Jquery,Html,Css,Hyperlink,我有一个css类应用于一个div中的所有链接,该类的类为“linkroll”: 我试图阻止将此类添加到div中的任何超链接图像中。我如何做到这一点 比如,我不想让这个类被应用: <div class="linkroll"><a href="#somelink"><img src="someimg.jpg"></a></div> var selector = '.linkroll a'; // if selector is not im

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

我试图阻止将此类添加到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...

变量选择器='.linkroll a';
//如果选择器不是图像,则执行某些操作。。。

CSS只能向下进入DOM树,因此不能添加基于子元素的类,只能添加父元素。但是,您可以使用jQuery通过
过滤器()来实现这一点:

$('.linkroll a').filter(函数(){

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

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

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

$('.linkroll a > img').closest('div').removeClass('linkroll');
$('.linkroll a').filter(function() {
    return $(this).children('img').length == 0;
}).addClass('foo');
return $(this).attr('href');
$('.linkroll a > img').closest('div').removeClass('linkroll');