选择所有<a> elements where content starts with &#39;+&#39;</a>

时间:2013-03-20 08:36:05

标签: javascript jquery html

我想用jquery选择其内容以+开头的所有元素,我该怎么做?

示例:

<a href="/" >+ Add</a>

4 个答案:

答案 0 :(得分:6)

您可以使用jQuery中的filter()

$("a").filter(function() {
    return $.trim(this.innerHTML).indexOf("+") === 0;
}). ...

DEMO: http://jsfiddle.net/4rgNw/

答案 1 :(得分:0)

这是一种替代的,更多CSS驱动的方法,你甚至可以让你的CSS处理添加加号。检查一个类将比检查一个元素的innerHTML要好得多,这只有在你有大量的+链接时才真正重要。

jsFiddle

<强> HTML

<a href="/" class="add">Add</a>
<a href="/" class="add">Add</a>

<强> CSS

.add:before { content:"+ "; }

<强>的jQuery

var addLinks = $('.add');

// or pure JS (faster if you only desire the DOM objects)
addLinks = document.getElementsByTagName('add');

答案 2 :(得分:0)

在CSS3中有一个:contains()选择器也可能有用。

$('a:contains("+ ")').....

作为一个例子..不完全是你想要的,但可能会变得有用。

答案 3 :(得分:0)

var links = document.links, l = links.length, i, plus = [];
for (i = 0; i < l;i++){
    if(/\+\w/(links[i].textContent))plus.push(links[i]);
};

编辑:

var links = document.links, l = links.length, i, plus = [];
for (i = 0; i < l;i++){
    if(/\+\w/.test(links[i].textContent))plus.push(links[i]);
};
相关问题