首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法更改anchor.text

无法更改anchor.text
EN

Stack Overflow用户
提问于 2011-06-07 02:28:13
回答 3查看 2.2K关注 0票数 0

我正在尝试更改锚中的文本,如下所示:

代码语言:javascript
复制
for (var i = 0; i < anchors.length; i++) { 
  ...
  anchors[i].text = anchors[i].text + "+";
}

我尝试了其他方法,如concatappend,但都不起作用。

anchors[i].innerHTML有帮助,但代码是在DOMContentLoaded上调用的,我只想添加"+“字符串,而不是添加不可预测的"+"*序列,例如"++++++++”

感谢您的帮助

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-07 03:21:48

简单地说,HTMLElement.innerHTML是用于超文本标记语言字符串的。在您的例子中,您正在寻找Node.textContent和非标准的Node.innerText,因为您只是替换文本。

代码语言:javascript
复制
var anchors = document.links;

for(var i=0;i<anchors.length;i++)
{
    var anchor = anchors[i];
    if(anchor.textContent)
    {
        //W3C DOM
        anchor.textContent += "+";   
    }else if(anchor.innerText)
    {
        //Microsoft DOM
        anchor.innerText += "+";   
    }
}

在处理较旧的浏览器时,您可以使用类似于这里提供的bobince的代码片段(请注意,它将清除childNodes并用文本节点替换它们):'innerText' works in IE, but not in Firefox

参考资料:

https://developer.mozilla.org/En/DOM/Node.textContent

  • MSDN:http://msdn.microsoft.com/en-us/library/ms533899%28v=VS.85%29.aspx

  • W3C DOM Level 3:http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#Node3-textContent

  1. MDC
票数 3
EN

Stack Overflow用户

发布于 2011-06-07 02:29:45

JavaScript DOM没有.text。它有.innerHTML

票数 1
EN

Stack Overflow用户

发布于 2011-06-07 02:30:45

如果您指的是链接文本:

代码语言:javascript
复制
 var anchors = document.getElementsByTagName("A");
 for (var i = 0; i < anchors.length; i++) {
    anchors[i].innerHTML += "+";
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6256380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档