填充元素内容的干净方法
Clean way to populate content of element
我需要将内容(HTML)附加到元素。这就是我目前的做法...
element.innerHTML += "<a href='"" + something[awesome] + "'">" + something[great] + "</a>";
element.innerHTML += "<br>";
这似乎很混乱。有没有更清洁的方法可以做到这一点?createElement()
方法是实现这一目标的正确方法吗?
假设已经定义了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/
这取决于您的要求,但如果您想保持简单并接近您现在拥有的内容,只需更改为:
var s = "<a href='"" + something[awesome] + "'">" + something[great] + "</a>";
element.innerHTML += s + "<br>";
用语言来说,在变量中构建字符串,而不是直接在 innerHTML
属性上构建字符串。
相关文章:
- 用于检查数组中是否存在元素的javascript自定义方法
- 从数组中删除元素的最佳方法是:javascript/jquery
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- 任何一种简单的方法都可以将带有onload的元素作为目标
- 如何向Selectize元素添加渲染和创建方法
- 他们是如何使用angular/jqLite find()方法按属性名称和值选择元素的?ng conf 2015
- 在 JavaScript 数组中的所有元素之间穿插元素的简洁方法
- 列出没有 mysql 的元素的最佳方法是什么
- 使用Underscore.js修改json数组中所选元素的更有效方法
- 元素.appendChild()插入IE.变通方法?(与innerText与textContent相关)
- 选择具有值数组的所有元素的最有效方法
- 有什么方法可以在下一个元素上进行追加吗
- 使用javascript查找元素位置的最快方法
- 特定循环(html元素)方法的优点和缺点
- Javascript集:任何覆盖元素之间比较的方法
- 使用Ajax Get方法将数据显示到特定元素中
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- javascript在html元素方法运行setTimeout后返回此消息
- 隐藏具有特定类$.each、for等的元素的有效方法