2012-01-10 84 views
3

我在.delegate中有以下內容:
link_id是鏈接的標識。 我需要接下來說,如果該ID開始與RPwd然後做一些事情。 爲什麼不^ ^在這種情況下工作?jquery檢查是否以鏈接開始

var link_id = $(this).attr('id'); //capture the id of the clicked link 
    if (link_id ^= "RPwd") { 
+0

請附上您的HTML。 – JohnFx 2012-01-10 19:02:28

+0

如果你使用jQuery 1.7+,你應該在這裏使用'.prop'而不是'.attr'。 – mrtsherman 2012-01-10 19:04:01

回答

3

^=開頭選擇器是一個jQuery對象選擇器。你做一個字符串比較,因此可以使用indexOf()

if (link_id.indexOf("RPwd") === 0) { 
    // Match 
} 
+0

爲什麼===而不是==?有什麼區別? – gdoron 2012-01-10 19:04:45

+2

@gdoron:'==='比較類型和值,'=='只是比較值。 '0 =='0'是'true',但'0 ==='0'是'false'。 – 2012-01-10 19:05:56

+0

@火箭,哪個效率更高? – gdoron 2012-01-10 19:07:57

2

據我所知^=是不是在JavaScript操作。這可能是你的問題。

我認爲你正在尋找

if ($(this).is('[id^="RPwd"]')) { 
} 
+1

'link_id'這裏是一個字符串。你需要'$(this).is('[id^=「RPwd」]')'。 – 2012-01-10 19:06:57

+0

oops。謝謝。固定 – JohnFx 2012-01-10 19:08:50