我有很多div
有时包含链接。我想检查他们是否有链接。这是我的尝试:
var container = $(this).closest('.content').find('.text');
//Check if text contains a tags
if(container+':has(a)'){
alert('contain link');
}
else{
alert('no link found'); //Alert "contain link" even if no link is found.
}
通过做container.html()
我可以看到具体内容container
包括锚标记,但我上面的代码总是说找不到锚标记。
有人可以告诉我我做错了什么吗?
改成这样:
if(container.find("a").length){ ...
container
是一个 jquery 对象并且.find()
是该对象的函数,用于查找其中的元素。长度大于 0 将意味着它找到一个锚标记并且计算结果为 true。
Edit:
另外,解释一下为什么你的例子不起作用。当你这样做时container+':has(a)'
,您正在执行一个运行的字符串连接toString()
在你的对象上(将其转换为“[object Object]”)。所以你最终会得到字符串“[object Object]:has(a)”,它的计算结果总是为 true。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)