2014-01-09 54 views
9

我正在使用JQuery 1.8.3。我有下面的HTML標籤。使用JQuery爲標籤賦值?

<label for="myalue" style="vertical-align: middle"></label> 

現在使用JQuery我需要設置一個字符串到上面的標籤,我正在嘗試如下。

$("label[for='myalue']").text("someText"); 

上面的代碼只適用於IE。但是在Firefox標籤中沒有設置值。

有什麼建議嗎?

謝謝!

+2

這是爲我工作。試試這個小提琴:http://jsfiddle.net/per95/ –

+0

看起來很奇怪。然而,它適用於包括Firefox在內的所有瀏覽器。 –

+0

他可能會使用較舊的Firefox版本。 – Anup

回答

18

HTML:

<label for="myalue" style="vertical-align: middle"></label> 

jQuery代碼:

jQuery("label[for='myalue']").html("asd"); 

活生生的例子:

http://jsfiddle.net/GA7ur/1/

7

您應該能夠使用

$("label[for='myalue']").html("someText"); 

$("label[for='myalue']").text("someText"); 

HTML &文本之間的唯一區別是:

HTML()獲取/元素

的設置HTML

text()獲取/設置元素的內聯網

在你的情況下,我會使用text(),因爲它應該更快(至少看jQuery代碼)。 我剛剛在Chrome,IE9和Firefox中測試了這兩個函數,並且它們可以很好地處理標籤標籤。

+1

爲什麼使用'.html()'而不是'.text()'?任何具體原因或只是一個_try這個_答案?爲什麼不應該'.text()'工作? – undefined

+0

原因是它確實有效......我現在正在看它,所以希望我能在幾分鐘內給你一個更好的答案 –

+1

@BlackSheep在這種情況下沒有任何區別,並且這兩種功能都能正常工作精細。事實上,text()應該更快,所以沒有理由使用html()。我已經更新了我的答案。 –

0

使用$().html('someText')來做到這一點。

0

使用.html()

試試這個

$("label[for='myalue']").html("YourText");