2010-01-06 65 views

回答

8

不,我知道的,但你可以很容易地實現自己選擇的jQuery:

$.extend($.expr[':'], { 
    startsWith: function(elem,match) { 
     return (elem.textContent || elem.innerText || "").indexOf(match[3]) == 0; 
    } 
}); 

現在你可以使用它是這樣的:

$("p:startsWith(Hello)").css("color","red") 
+2

謝謝,並用CAS不敏感: //情況insenstitive活:含有 $ .extend($ EXPR [ 「:」],{ \t \t \t 「startWith」:功能(ELEM,I,比賽,陣列){ \t \t \t \t回報(elem.textContent || || elem.innerText 「」).toLowerCase \t \t().indexOf((匹配[3] || 「」).toLowerCase())== 0 ; \t \t \t} }); – adrien334 2010-01-06 12:44:31

1

我覺得你可以在JavaScript中使用

indexOf功能

var str = "test string print"; 

str.indexOf ("test") returns 0 

str.indexOf ("print") returns 12 

所以,你可以檢查的indexOf函數的返回值,如果是0,那麼它處於起始位置。

3

沒有,但你可以使用filter自己做,如脈衝建議:

$('a').filter(function(){ 
    return $(this).text().indexOf('start') == 0 } 
) 

你可能想在這裏使用正則表達式,忽略大小寫,或更高級的搜索:

$('a').filter(function(){ 
    return $(this).text().match(/^start/i) } 
)