2012-01-10 3 views
3

私は自分の.delegateで次のようにしています:
link_idはリンクのIDです。 私は次にそのIDがRPwdで始まって何か何かをするかどうかを言う必要があります。 この場合、^ =はなぜ機能しないのですか?jquery checkがリンクで始まっている場合

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

を探していると思います。 – JohnFx

+0

jQuery 1.7+を使用している場合、ここでは '.attr'の代わりに' .prop'を使用する必要があります。 – mrtsherman

答えて

3

セレクタは、jQueryオブジェクトセレクタです。あなたは、文字列の比較をやっているので、私の知る限り^= JavaScriptで演算子ではありません知っているようindexOf()

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

なぜ===とnot ==?違いは何ですか? – gdoron

+2

@gdoron: '==='は型と値を比較し、 '=='は単に値を比較します。 '0 == '0'は' true'ですが、 '0 === '0''は' false'です。 –

+0

@Rocket、どちらが効率的ですか? – gdoron

2

を使用することができます。それはあなたの問題かもしれません。

は、私はあなたのHTMLを含めてください

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

ここでは 'link_id'は文字列です。 '$(this)).is( '[id^=" RPwd "]')'が必要です。 –

+0

oops。ありがとう。一定 – JohnFx

関連する問題