Javascript 是否可以使用`setAttribute'设置超链接的文本或innerText`
我正在尝试将我的描述性JSON对象动态转换为HTML。这不是一项容易的任务,但因为它只用于一个小项目和一个小团队,所以它适合我们的需要 这意味着,JSON对象可能看起来像Javascript 是否可以使用`setAttribute'设置超链接的文本或innerText`,javascript,Javascript,我正在尝试将我的描述性JSON对象动态转换为HTML。这不是一项容易的任务,但因为它只用于一个小项目和一个小团队,所以它适合我们的需要 这意味着,JSON对象可能看起来像 'element': { 'href': '#03', 'text': 'link', 'myUniqueTag' : 'a' } 这意味着我可以使用我的UniqueTag并理解我在处理a类交易。这个很好用 我的问题是设置文本的值,即 &
'element': {
'href': '#03',
'text': 'link',
'myUniqueTag' : 'a'
}
这意味着我可以使用我的UniqueTag并理解我在处理a类交易。这个很好用
我的问题是设置文本的值,即
<a href="blah">How do I set this bit</a>
对于我的情况,我必须使用setAttributes。我的问题是,我是否遗漏了什么,或者无法通过setAttribute设置文本
请注意,我只使用香草JavaScript,没有JQuery或框架。当然,您可以使用setAttribute来设置文本,但是您需要精确地切换您设置的属性。在您的示例中,文本和innerText不是html属性 例如: JS: 在DOM中看起来像这样:
当然,您可以使用setAttribute来设置文本,但是您需要精确设置属性。在您的示例中,文本和innerText不是html属性 例如: JS: 在DOM中看起来像这样:
啊。。。我懂了。但它在CBroe有效吗?为什么说这毫无意义?到目前为止,我还以为他们通过不同的语法做了相同的事情,但看起来他们在JavaScriptLand的幕后做了不同的事情,从DOM中找到要设置文本的元素。创建一个DOM文本元素。然后使用addChildNode将文本节点设置到父节点上。是的,我理解。如果确实需要,您可以使用setAttribute,但这不是正确的方法。@dfsq为什么您觉得setAttribute不是正确的方法?啊。。。我懂了。但它在CBroe有效吗?为什么说这毫无意义?到目前为止,我还以为他们通过不同的语法做了相同的事情,但看起来他们在JavaScriptLand的幕后做了不同的事情,从DOM中找到要设置文本的元素。创建一个DOM文本元素。然后使用addChildNode将文本节点设置到父节点上。是的,我理解。如果确实需要,您可以使用setAttribute,但这不是正确的方法。@dfsq为什么您觉得setAttribute不是正确的方法?那么obj.someProperty===与obj.setAttributesomeProperty不同?否,这两种方法可以做相同的思考,但使用setAtribbute,您可以添加一个HTML属性,如样式、宽度、类、值。。。innerText不是html属性你是说setAttribute只添加属性而不能附加子项吗?错,obj.someProperty=value与obj.setAttributesomeProperty,value绝对不同。这个答案并没有回答如何使用setAttribute设置innerText的问题。所以obj.someProperty===与obj.setAttributesomeProperty不同?不,两个方法可以做相同的思考,但使用setAtribbute可以添加HTML属性,如样式、宽度、类、值。。。innerText不是html属性你是说setAttribute只添加属性而不能附加子项吗?错,obj.someProperty=value与obj.setAttributesomeProperty,value绝对不同。这个答案并没有回答如何使用setAttribute设置innerText的问题。
one.text = "Hello world"; //works
two.innerText = "Hello world"; //works
three.setAttribute("text", "Hello world"); //fails
four.setAttribute("innerText", "Hello world"); //fails
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);
<div id="divWrapper">
<button content="test content" class="btn">test value</button>
</div>