我需要用
jquery检查一个锚元素只有文本,而不是任何其他标签(img,b)或其他任何东西.
- <a href="">TV</a>
应该找到,但是:
- <a href=""><img /></a>
要么:
- <a href=""><span>TV</span></a>
或者任何其他HTML标记都不应该找到.
我该怎么做呢?
提前致谢.
解决方法
我们可以使用
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/