是否可以使用`setAttribute`设置超链接的text或innerText

时间:2018-01-29 09:21:46

标签: javascript

我试图将描述性JSON对象动态转换为HTML。这不是一项容易的任务,但由于它只适用于小型项目和小型团队,因此适合我们的需求。

这意味着,JSON对象看起来像

'element': {
            'href': '#03',
            'text': 'link',
            'myUniqueTag' : 'a'
        }

这意味着我可以使用myUniqueTag并了解我处理类型a。这很好。

我遇到的问题是设置文本的值,即

<a href="blah">How do I set this bit</a>

这是我尝试过的

one.text = "Hello world";                           //works
two.innerText = "Hello world";                      //works
three.setAttribute("text", "Hello world");          //fails
four.setAttribute("innerText", "Hello world");      //fails

JSFIDDLE

对于我的情况,我必须使用setAttributes。我的问题是,我是否遗漏了某些内容,或者无法通过setAttribute()

设置文字

请注意,我只使用vanilla JavaScript(没有JQuery或框架)。

1 个答案:

答案 0 :(得分:-1)

当然你可以使用setAttribute设置文本,但是你需要设置精确的女巫属性。在你的例子&#34; text&#34;和&#34; innerText&#34;不是html属性。

例如:

<强> JS:

import { onException } from "kaop-ts"
import handlingException from "./somewhere"

class Something {

  @onException(handlingException)
  method() {
    // stuff that may throw an error
  }
}

在DOM中看起来像这样:

var b = document.createElement('button'); 
b.setAttribute('content', 'test content'); 
b.setAttribute('class', 'btn'); 
b.innerHTML = 'test value';

var wrapper = document.getElementById("divWrapper");
wrapper.appendChild(b);