如何选择所有有图像子元素的链接?



我使用以下代码为所有外部链接添加_blank target属性

$.expr[':'].external = function(obj) {
return (obj.hostname != location.hostname) && obj.href.startsWith("http");
};
$('a:external').attr('target', '_blank');

现在,我想做类似的所有父链接到图像。

<a href="..."><img></a>

我如何构建一个选择器来针对这些实例?

对于包含另一个特定元素的元素,您可以使用:has()选择器:

$('a:has(img)').prop('target', '_blank');

另外,作为题外话,:external选择器逻辑可以使用箭头函数变得更简洁:

$.expr[':'].external = obj => (obj.hostname != location.hostname) && obj.href.startsWith("http");

最新更新