DOM帮助(显示一个无序的水果列表,并给每个水果一个类)
DOM Help (displaying an unordered list of fruits and giving each fruit a class)
我有一个水果列表变量,如下所示:
var fruits = [
"Apple",
"Banana",
"Grape",
"Pineapple",
"Pear"
];
使用DOM,我想显示一个无序的水果列表,然后给每个水果一个"fruity"类。
我仍然对DOM感到很不舒服,但这是我尝试过的:
for (var i = 0; i < fruits.length; i++) {
var unorderedList = document.createElement('ul');
appendChild(ul);
}
for (var i = 0; i < fruits.length; i++) {
var class = document.createElement('class', 'fruity');
appendChild(class);
}
谁能告诉我至少我是在正确的轨道上吗?我排除了什么?我用的是"文档"吗?createElement"在哪里需要它?我完全卡住了=/谢谢。
你做对了。
您希望创建一个 ul
元素,然后创建多个li
元素。class
不是一个元素,它是一个属性;您可以通过使用元素的className
反射属性来设置元素的class
(由于历史原因,反射属性不只是称为class
)。
:
var ul = document.createElement('ul');
fruits.forEach(function(fruit) {
var li = document.createElement('li');
li.innerHTML = fruit; // For instance, just to give us something to see
li.className = "fruity";
ul.appendChild(li);
});
…然后将ul
附加在某个地方,例如:
document.body.appendChild(ul);
…或类似的。
生活例子:
var fruits = [
"Apple",
"Banana",
"Grape",
"Pineapple",
"Pear"
];
var ul = document.createElement('ul');
fruits.forEach(function(fruit) {
var li = document.createElement('li');
li.innerHTML = fruit; // For instance, just to give us something to see
li.className = "fruity";
ul.appendChild(li);
});
document.body.appendChild(ul);
.fruity {
color: purple;
}
(它们是紫色的,因为它们是fruity
类。)
关于DOM的更多信息:http://www.w3.org/DOM/DOMTR
你偏离了正确的轨道;)
var unorderedList = document.createElement("ul");
fruits.forEach(function (fruit) {
var listElement = document.createElement("li");
var listText = document.createTextNode(fruit);
listElement.appendChild(listText);
listElement.className = "fruity";
unorderedList.append(listElement);
}
// assuming you have an element with id = "fruits" in your html
document.getElementById("fruits").appendChild(unorderedList);
您可以在同一个循环中分配className
和innerHTML
,即:
var fruits = [
"Apple",
"Banana",
"Grape",
"Pineapple",
"Pear"
];
var myElement = document.getElementById("myFruits");
for (var i = 0; i < fruits.length; i++) {
var unorderedList = document.createElement('li');
unorderedList.innerHTML = fruits[i];
unorderedList.className = fruits[i];
myElement.appendChild(unorderedList);
}
<ul id="myFruits"></ul>
上面的js
将生成下面的html
<ul id="myFruits">
<li class="Apple">Apple</li>
<li class="Banana">Banana</li>
<li class="Grape">Grape</li>
<li class="Pineapple">Pineapple</li>
<li class="Pear">Pear</li>
</ul>
相关文章:
- 正在将无序列表转换为选择..但有一个转折
- 如何在一个随机化的有序列表中随机化多个无序列表
- 使用 Javascript 优化一个巨大的无序列表
- 如何使用vanilla Javascript识别无序和/或嵌套列表序列中的上一个/下一个链接
- 试图从无序列表中获取最后一个元素
- 使用Javascript函数创建一个动态无序列表
- 尝试使用jquery将无序列表中的一个列表项与另一个无序列表一起选择
- 在下拉菜单中列出一个无序的列表
- DOM帮助(显示一个无序的水果列表,并给每个水果一个类)
- 一个文本框的输入值,用于添加一个无序列表(Javascript)
- 动态地向另一个UL的无序列表添加元素的同时添加图像
- 为什么我添加到一个无序列表中的val在我添加它之后就消失了?
- 向无序列表中的每个列表项附加一个锚
- 如何用jQuery一次填充一个无序列表中的一个元素
- 用javascript排序一个复杂的无序列表
- 如何把取回的<灯>元素在另一个无序列表的末尾使用JQuery
- 从数组中获取对象名称并创建一个无序列表
- 组织一个多维无序列表
- angularjs ng重复一个长的无序列表
- 翻译一个“;扁平的“;列表到嵌套的HTML无序列表