Javascript 应用css时排除上层父级
我的问题是,除了Javascript 应用css时排除上层父级,javascript,jquery,css,Javascript,Jquery,Css,我的问题是,除了元素中的链接外,我必须将一些CSS样式应用于父级是链接的每个图像。这是我的密码: $("img").parent("a").css({"padding": "0", "border": "0 none", "background-color": "transparent"}) 它可以很好地处理主页中发布的图像,但它也会破坏我的顶部菜单,因为它在链接中有一个图像(用于语言选择) 除了父元素是元素的链接图像,是否有方法将样式应用于每个链接图像?谢谢 …对每个图像应用一些CSS样式
元素中的链接外,我必须将一些CSS样式应用于父级是链接的每个图像。这是我的密码:
$("img").parent("a").css({"padding": "0", "border": "0 none", "background-color": "transparent"})
它可以很好地处理主页中发布的图像,但它也会破坏我的顶部菜单,因为它在链接中有一个图像(用于语言选择)
除了父元素是
元素的链接图像,是否有方法将样式应用于每个链接图像?谢谢
…对每个图像应用一些CSS样式
您可以针对任何对象,但不能针对
,然后是锚定,然后是图像
$('*:not(li) > a img').css()
或过滤器
$('a img').filter(function() {
return $(this).closest('li').length === 0;
}).css();
看起来你真的是在将这些样式应用到锚点,而不是图像
$('a:has(img)').filter(function() {
return $(this).closest('li').length === 0;
}).css();
由于$(this.nestest('li')。length为0返回false,因此您可能不需要$(this.nestest('li')。length==0@DinoMyte-不太可能,可以做
返回$(this.nexist('li')。长度也是一样,但我喜欢==0
,它更清楚地表明了它的意图是什么也找不到,即没有li父项的DOM不会$('*:not(li)a img')
匹配“body li a img”?我认为一个
可能会有帮助…@dandavis-这就是为什么我添加了过滤方法,使用星号通常不会以你认为的方式结束,它是一个蹩脚的选择器,正如你所说,它可能会匹配一个img
,但在其他方面,比如body a img
,如果a
也在li
中,那么使用直接子选择器可能会更好,我会补充一点,但是现在还不清楚锚点是否是li
的直接子对象,在这种情况下,这也不起作用。