使用jQuery检查子项是否是父项的唯一内容

tka*_*ahn 5 jquery href parent-child

我需要检查链接(a-tag)是否是段落标记(p)中唯一的内容(不仅仅是唯一的子).所以如果p-tag看起来像这样:

<p>Here we have some text inside the p-tag. Then there's <a href="#">link</a>.</p>
Run Code Online (Sandbox Code Playgroud)

<a>标签是不是对标签内的唯一内容,因为这里还有文字.

但如果<p>标签看起来像这样:

<p><a href="#">Nothing but a link inside this p-tag</a></p>
Run Code Online (Sandbox Code Playgroud)

<p>标签内唯一的内容是链接.

如果<p>标签只包含<a>标签,我想在标签中添加某个类<a>.

我使用的是这段代码:

$("#MainColumn p a:only-child").addClass("singleLink");
Run Code Online (Sandbox Code Playgroud)

但是这段代码只检查a-tag是否是p-tag的唯一子代,而不是它是唯一的内容.这是我目前陷入困境的地方.

gdo*_*ica 1

使用一个选择器可以非常简单:

var $content = $("#MainColumn p:has(a)").filter(function() {
    return $(this).contents().length === 1;
}).children('a').addClass("singleLink");
Run Code Online (Sandbox Code Playgroud)

现场演示