似乎无法根据内容选择元素

时间:2013-02-13 19:00:33

标签: jquery match

我试图根据内容选择一个元素,但我似乎无法让它发挥作用。

我尝试使用match()的正则表达式:

$('.mod')
    .filter(function() {
    return this.match(/abc/);
 })
    .html("Test Worked!")
;  

.text()

$('.mod')
    .filter(function() {
    return this.text() == 'abc' ;
 })
    .html("Test Worked")
;

但都没有奏效。

我做错了吗?我更喜欢使用正则表达式,但现在我只想以某种方式选择元素。

在这里小提琴:http://jsfiddle.net/sethj/z3MBw/2/

2 个答案:

答案 0 :(得分:4)

text()是一个jQuery方法:

$('div').filter(function() {
    return $(this).text().match(/mod/);
}).html("Matched!");

FIDDLE

答案 1 :(得分:3)

使用此:

$('.mod')
  .filter(function() {
  return $(this).text() == 'abc' ;
})...

你不能在DOM元素上调用text(),你必须将元素包装为jQuery对象。