You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写jQuery选择器匹配所有包含img子元素的a标签?

方法1:直接使用jQuery内置:has()选择器(最简便)

你可以直接用jQuery原生支持的:has()选择器定位子元素包含图片的链接:

// 仅匹配直接子元素为img的a标签
$('a:has(> img)').attr('target', '_blank');

// 如果需要匹配子节点任意层级包含img的a标签,去掉>即可
// $('a:has(img)').attr('target', '_blank');

方法2:自定义伪类选择器(和你现有external选择器写法一致)

如果你希望和之前的:external选择器保持相同的定义风格,可以自定义伪类:

// 定义自定义伪类
$.expr[':'].imgLink = function(obj) {
    // 检查a标签的直接子元素是否存在img标签
    return Array.from(obj.children).some(el => el.tagName.toLowerCase() === 'img');
};

// 使用自定义选择器
$('a:imgLink').attr('target', '_blank');

组合使用示例

你还可以把两个自定义选择器组合,仅给外部图片链接加_blank属性:

$('a:external:imgLink').attr('target', '_blank');

内容的提问来源于stack exchange,提问作者Still Learning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:54:03