我正在尝试将我的描述性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
吉斯菲德尔
对于我的情况,我必须使用 setAttributes。我的问题是,我是否遗漏了某些内容,或者无法通过setAttribute()
设置文本
请注意,我只使用vanilla JavaScript(没有JQuery或框架(。
当然,您可以使用setAttribute来设置文本,但是您需要精确设置的女巫属性。在您的示例中,"text"和"innerText"不是html属性。
例如:
.JS:
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);
在 DOM 中看起来像这样:
<div id="divWrapper">
<button content="test content" class="btn">test value</button>
</div>