Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 如何选择包含img作为直接子项的最外层标记_Javascript_Jquery_Css - Fatal编程技术网

Javascript 如何选择包含img作为直接子项的最外层标记

Javascript 如何选择包含img作为直接子项的最外层标记,javascript,jquery,css,Javascript,Jquery,Css,我有以下标记 var-divs=$('div:has(img)')。而不是(':parent:has(>img)'); css('border','1px实心红色') 1. 2. 3. 4. 5. 6. 7. 8. 您的主要问题是:parent选择器并没有像您认为的那样执行操作。CSS规则永远不会上升。因此,如果需要向上移动,则需要使用JavaScript(使用函数.parent(),该函数在CSS选择器中没有等效项,甚至jQuery扩展选择器也没有) 但是,这会将所有内容都涂成红色,因为C

我有以下标记

var-divs=$('div:has(img)')。而不是(':parent:has(>img)');
css('border','1px实心红色')

1.
2.
3.
4.
5.
6.
7.
8.

您的主要问题是
:parent
选择器并没有像您认为的那样执行操作。CSS规则永远不会上升。因此,如果需要向上移动,则需要使用JavaScript(使用函数
.parent()
,该函数在CSS选择器中没有等效项,甚至jQuery扩展选择器也没有)


但是,这会将所有内容都涂成红色,因为CSS中的第一个C(“层叠”):1、5和8上的红色声明会将这些div中的所有文本涂成红色。

为什么不使用类?@zzzzBov:我知道如何使用类,但我需要知道任何CSS或jQuery都可以这样做吗selector@PranavCBalan接近,但是没有优化。或者@Tushar:这就是我想要的:)
var divs = $('div:has(>img)').filter(function(i, n) { return !($(n).parent().children('img').length); });
divs.css('color','red');