我需要用jquery检查一个锚元素只有文本,而不是任何其他标签(img,b)或其他任何东西。
<a href="">TV</a>
应该找到,但是:
<a href=""><img /></a>
或:
<a href=""><span>TV</span></a>
或任何其他HTML标记都不应该找到。
我该怎么做?
提前致谢。
答案 0 :(得分:11)
我们可以使用filter()
函数删除有孩子的元素(使用children()
方法检查)。
var emptyAs = $('a').filter(function () {
return $(this).children().length == 0;
});
您还可以将:not()
selector与:has()
selector;
var moreEmptyAs = $('a:not(:has(*))');
您可以在以下JSFiddle中看到这两个工作; http://jsfiddle.net/JD67U/
答案 1 :(得分:-2)
您可以尝试.text()
这只会转义文本并删除所有HTML代码。
var pureText=$('a').text();