我需要将内容(HTML)附加到元素。这就是我目前正在做的事情......
element.innerHTML += "<a href=\"" + something[awesome] + "\">" + something[great] + "</a>";
element.innerHTML += "<br>";
这看起来非常混乱。有没有更清洁的方法来做到这一点? createElement()
方法是否是实现此目的的正确方法?
答案 0 :(得分:2)
假设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/
答案 1 :(得分:0)
这取决于您的要求,但如果您想保持简单并且接近现在的状态,只需更改为:
var s = "<a href=\"" + something[awesome] + "\">" + something[great] + "</a>";
element.innerHTML += s + "<br>";
用文字表示,在变量中构建字符串,而不是直接在innerHTML
属性上构建。