这里的编程新手。我试图在页面上显示客户的信息。
的index.html
<HTML><script src="javascript.js"></script>
<body>
<ul id="cus_list"></ul>
</body></html>
javascript.js
var customers = [{
company: "company1"
name: "name1"
phone: "1234567"
image: "img/img1.jpg"
url: "www.url.com"
}];
var item = customers[0],
list = document.getElementById('cus_list'),
fragment = document.createDocumentFragment(),
element = document.createElement("li");
element.appendChild(document.createTextNode("Company: " + item.company));
element.appendChild(document.createTextNode("Name: " + item.name + " "));
fragment.appendChild(element);
list.appendChild(fragment);
结果如下:
•公司:company1Name:name1
为什么这个名字不会出现在下一行?
答案 0 :(得分:1)
您只创建了一个
li
元素。要将元素作为列表,您必须拥有n
个li
个元素才能拥有n
行数。
试试这个:
var customers = [{
company: "company1",
name: "name1",
phone: "1234567",
image: "img/img1.jpg",
url: "www.url.com"
}];
var item = customers[0],
list = document.getElementById('cus_list'),
fragment = document.createDocumentFragment(),
element1 = document.createElement("li"),
element2 = document.createElement("li");
element1.appendChild(document.createTextNode("Company: " + item.company));
element2.appendChild(document.createTextNode("Name: " + item.name + " "));
fragment.appendChild(element1);
fragment.appendChild(element2);
list.appendChild(fragment);
<ul id="cus_list"></ul>
甚至是一种简化的方法:
var customers = [{
company: "company1",
name: "name1",
phone: "1234567",
image: "img/img1.jpg",
url: "www.url.com"
}];
var item = customers[0],
list = document.getElementById('cus_list'),
element1 = document.createElement("li"),
element2 = document.createElement("li");
element1.innerText = "Company: " + item.company;
element2.innerText = "Name: " + item.name + " ";
list.appendChild(element1);
list.appendChild(element2);
<ul id="cus_list"></ul>
另请注意,您的对象无效。每个key-value
应以,
答案 1 :(得分:0)
简化
var customers = [{
company: "company1",
name: "name1",
phone: "1234567",
image: "img/img1.jpg",
url: "www.url.com"
}];
var item = customers[0],
list = document.getElementById('cus_list'),
element1 = document.createElement("li"),
element2 = document.createElement("li"),
element3 = document.createElement("li"),
element4 = document.createElement("li"),
element5 = document.createElement("li");
element1.innerText = "Company: " + item.company;
element2.innerText = "Name: " + item.name + " ";
element3.innerText = "Phone: " + item.phone + " ";
element4.innerText = "image: " + item.image + " ";
element5.innerText = "url: " + item.url + " ";
list.appendChild(element1);
list.appendChild(element2);
list.appendChild(element3);
list.appendChild(element4);
list.appendChild(element5);
<ul id="cus_list"></ul>
您错过了在客户数组对象中添加,
var customers = [{
company: "company1",
name: "name1",
phone: "1234567",
image: "img/img1.jpg",
url: "www.url.com"
}];
答案 2 :(得分:0)
你可以使用Jquery,类似下面的代码
var li = $('<li></li>');
li.html('Test!');
$('#cus_list').append(li);
答案 3 :(得分:0)
您需要为每个数据属性创建li标记 试试这个。
var customers = [{
company: "company1",
name: "name1",
phone: "1234567",
image: "img/img1.jpg",
url: "www.url.com"
}];
var renderElement = function(ele_text){
var element = document.createElement("li");
element.appendChild(document.createTextNode(ele_text));
return element;
}
customers.forEach(function(customer) {
var list = document.getElementById('cus_list'),
fragment = document.createDocumentFragment();
fragment.appendChild(renderElement("Company: " + customer.company));
fragment.appendChild(renderElement("Name: " + customer.name));
list.appendChild(fragment);
});