jquery - 查找只包含文本而不包含任何其他html标记的元素

Ovi*_*Ovi 6 html tags jquery children contains

我需要用jquery检查一个锚元素只有文本,而不是任何其他标签(img,b)或其他任何东西.

<a href="">TV</a>
Run Code Online (Sandbox Code Playgroud)

应该找到,但是:

<a href=""><img /></a>
Run Code Online (Sandbox Code Playgroud)

要么:

<a href=""><span>TV</span></a>
Run Code Online (Sandbox Code Playgroud)

或者任何其他HTML标记都不应该找到.

我该怎么做呢?

提前致谢.

Mat*_*att 11

我们可以使用该filter()函数删除具有子元素的元素(使用该children()方法检查).

var emptyAs = $('a').filter(function () {
    return $(this).children().length == 0;
});
Run Code Online (Sandbox Code Playgroud)

您还可以将:not()选择器:has()选择结合使用;

var moreEmptyAs = $('a:not(:has(*))');
Run Code Online (Sandbox Code Playgroud)

您可以在以下JSFiddle中看到这两个工作; http://jsfiddle.net/JD67U/