我需要将内容(HTML)追加到元素。这是我当前如何做...干净的方式来填充元素的内容
element.innerHTML += "<a href=\"" + something[awesome] + "\">" + something[great] + "</a>";
element.innerHTML += "<br>";
这似乎很凌乱。有没有更干净的方法来做到这一点? createElement()
方法是否是实现此目的的正确方法?
我需要将内容(HTML)追加到元素。这是我当前如何做...干净的方式来填充元素的内容
element.innerHTML += "<a href=\"" + something[awesome] + "\">" + something[great] + "</a>";
element.innerHTML += "<br>";
这似乎很凌乱。有没有更干净的方法来做到这一点? createElement()
方法是否是实现此目的的正确方法?
这取决于你的需求,但如果你想保持它的简单和接近你有什么权利现在,只需更改为:
var s = "<a href=\"" + something[awesome] + "\">" + something[great] + "</a>";
element.innerHTML += s + "<br>";
为了把它的话,建立自己的字符串变量,不直接在innerHTML
属性上。
这仍然是非常混乱 –
@BruceBlacklaws - 我没有声称它是原始的,神圣的或天上的。只是它减少了多次改变'innerHTML'的负面影响(这很糟糕)。 – Amit
假设element
,something
,awesome
和great
已经定义,我通常会做这样的事情:
// build anchor
var anchorElement = document.createElement('a');
anchorElement.href = something[awesome];
anchorElement.appendChild(document.createTextNode(something[great]));
// build break tag
var breakElement = document.createElement('br');
// append
element.appendChild(anchorElement);
element.appendChild(breakElement);
断裂可能是不必要的。只需使用CSS来制作锚点块或创建视觉分隔。
这里有一个小提琴玩弄:https://jsfiddle.net/30qvd2vm/
这是混乱。 createElement是组合该方法的正确方法。与appendChild配对。 –
一些示例代码? –
“正确”是一个非常强的词。有些人更喜欢设置'innerHTML'(我没有亲自确认)的速度,但是再一次,可以根据设计使用API的方式进行争论。这个问题可能会产生很多简单的基于观点的答案。 –