清理填充元素内容的方法

时间:2016-03-07 20:19:55

标签: javascript

我需要将内容(HTML)附加到元素。这就是我目前正在做的事情......

element.innerHTML += "<a href=\"" + something[awesome] + "\">" + something[great] + "</a>";
element.innerHTML += "<br>";

这看起来非常混乱。有没有更清洁的方法来做到这一点? createElement()方法是否是实现此目的的正确方法?

2 个答案:

答案 0 :(得分:2)

假设elementsomethingawesomegreat已定义,我通常会这样做:

// 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/

答案 1 :(得分:0)

这取决于您的要求,但如果您想保持简单并且接近现在的状态,只需更改为:

var s = "<a href=\"" + something[awesome] + "\">" + something[great] + "</a>";
element.innerHTML += s + "<br>";

用文字表示,在变量中构建字符串,而不是直接在innerHTML属性上构建。