在我发布(并得到回答)的这个问题中,我发现了如何正确地将文本框的值分配给标签的值。答案是使用
$('#txtBranchName').val($('#lblBranchName').html());
或者
$('#txtBranchName').val($('#lblBranchName').text());
一个比另一个更可取吗?是否存在性能差异,或者一种方法不起作用但另一种方法在特定情况下会起作用?
在我发布(并得到回答)的这个问题中,我发现了如何正确地将文本框的值分配给标签的值。答案是使用
$('#txtBranchName').val($('#lblBranchName').html());
或者
$('#txtBranchName').val($('#lblBranchName').text());
一个比另一个更可取吗?是否存在性能差异,或者一种方法不起作用但另一种方法在特定情况下会起作用?
.text("<b>Test</b>")
将转义任何 HTML 标签(渲染<b>Test</b>
)
.html("<b>Test</b>")
会将它们呈现为实际的 HTML 元素(呈现Test)。
.text()
将仅返回文本节点(剥离标签)
.html()
将返回包含标签的实际 HTML 字符串。
这是一个JSFiddle,它显示了两种方式的差异。
如果标签没有 HTML 子标签,那么无论哪种方式都是一样的,但是如果有任何标签(例如红色的“必需”标记),最好使用它,.text()
这样您就可以获得该标记,而不是生成它的 HTML .
参考:jQuery: text() 和 html() 有什么区别? 和.text() 和 .html() 之间的区别与转义的 < 和 > 字符
实际上两者看起来确实有些相似,但完全不同,这取决于您的用途或您想要实现的意图,
在哪里使用:
jQuery.html()
将字符串视为 HTML,jQuery.text()
将内容视为文本。
Unlike the .html() method, .text() can be used in both XML and HTML documents. The result of the .text() method is a string containing the combined text of all matched elements. (Due to variations in the HTML parsers in different browsers, the text returned may vary in newlines and other white space.)