2013-02-13 85 views
0

我想選擇基於其內容的元素選擇元素,但我似乎無法得到它的工作。似乎不是基於內容

我一直在使用與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/

+0

'this'指元素節點。它沒有匹配方法或文本方法。 – 2013-02-13 19:02:43

回答

4

文本()是一個jQuery方法:

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

FIDDLE

3

使用此:

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

不能在DOM元素上調用text(),你必須包裹元素作爲一個jQuery對象。