var /**HTMLLabelElement*/ label = ...;
label.innerHTML = "...";
或者,使用jQuery:
var /**HTMLLabelElement*/ label = ...;
$(label).text("...");
如果标签包装< input />,则上述任何一种都无法正常工作.元件:
– 在这种情况下,< input />元素与旧文本一起被替换.
如何更改标签的文本,而不影响其子元素?
最佳答案
过滤掉非空文本子节点并将其替换为新内容.
$('label')
// get all child nodes including text and comment
.contents()
// iterate and filter out elements
.filter(function() {
// check node is text and non-empty
return this.nodeType === 3 && this.textContent.trim().length;
// replace it with new text
}).replaceWith('new text');
Box">Text