2012-09-26 53 views
2

我在使用JQuery更改標籤的值時遇到了問題。特別是:使用JQuery定位標籤

<label for="answer[649][radiobutton_other_value]">Other:</label> 

我的目標是將值「Other:」更改爲其他值。有什麼方法可以使用「answer [649] [radiobutton_other_value]」作爲定位標籤的錨點嗎?

+2

添加ID屬性的標籤和將有所幫助。不需要像檢查for屬性那樣令人費解。 – JohnFx

+0

不幸的是,我正在盜用現有的網頁,因此我無法將ID添加到代碼中。否則我會同意。 :) – Anthony

回答

3

肯定的,只是針對與label[for^="answer[649]"]

$('label[for^="answer[649]"]').text('other value'); 

這個標籤會發現一個標籤,其for屬性開始answer[649]並將其文本更改

+0

這工作完美 - 謝謝!我不知道「^」。它有什麼作用? – Anthony

+0

它會檢查從指定關鍵字開始的字符串匹配 –

+0

@Anthony,我在我的答案中寫道:) – fcalderan

0
$('label[for*=answer]').html('New Value') 

// OR

$('[label[for^=answer]').html('New Value') 

// OR

$('label[for="answer[649][radiobutton_other_value]"]').html('New Value') 
+1

對不起,您需要使用'.html',而不是'.val' – Ian

+2

在回答和閱讀時,不應該急於再'':/' – Stphane

+0

肯定會做.. :) –

1

如果可能的話,您將希望通過標籤上方的id選擇一些內容來縮小範圍。然後這樣做:

$("#ParentElem").find("label[for='answer[649][radiobutton_other_value]']").text("New Text Here"); 

如果不是可以縮小選擇的範圍或者它是一個非常小的頁面,那麼這將工作:

$("label[for='answer[649][radiobutton_other_value]']").text("New Text Here"); 
+0

謝謝jholloman! – Anthony