我需要用jquery检查 anchor 元素只包含文本,而不包含其他任何标签(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/

09-18 08:44