我使用以下代码为所有外部链接添加_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");