2014-01-09 20 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");