没有html里面的链接的jQuery选择器

时间:2013-09-12 19:34:49

标签: jquery jquery-selectors

我搜索解决方案,找到不包含html标签的文本中的所有链接。

我有一个解决方案的开始,像这样:

jQuery("a:not(a:has(img), a:has(span), ...)").addClass('myclass');

在此处找到:jQuery selector for link without an image inside

但我希望这样的事情:

jQuery("a:not(a:has(all-html-element))").addClass('myclass');

我不知道是否发现我的链接是否有孩子这是一个更好的解决方案,如下所示:

if(jQuery("a").children().size() == 0)
{
//do some stuff
}

您怎么看?

4 个答案:

答案 0 :(得分:3)

$("a").filter(function(){
    return $(this).children().length == 0;
})

答案 1 :(得分:2)

使用以下选择器:

$('a:not(:has(*))').addClass("myclass");

jsFiddle Demo

答案 2 :(得分:0)

试试这个..

$("a").filter(function() {
  return $(this).text() == $(this).html();
}).addClass('myclass');

text()将删除所有html标签,如果这与html()的返回相同,则只包含不包含html标签的元素。

答案 3 :(得分:0)

检查当前的a元素是否包含任何子元素:

$("a").filter(function(){
    return this.children.length === 0; // check if the element has any DOM elements
}).addClass("myclass");