javascript – 如果有嵌套的输入元素,则替换标签的文本

前端之家收集整理的这篇文章主要介绍了javascript – 如果有嵌套的输入元素,则替换标签的文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

更改标签文字似乎是easy

var /**HTMLLabelElement*/ label = ...;
label.innerHTML = "...";

或者,使用jQuery:

var /**HTMLLabelElement*/ label = ...;
$(label).text("...");

如果标签包装< input />,则上述任何一种都无法正常工作.元件:

Box">Text

– 在这种情况下,< 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');

猜你在找的HTML相关文章