У меня есть достаточно простая идея, которую я хотел бы реализовать.
У меня есть массив объектов с двумя свойствами: «id» и «name». Я хотел бы перечислить их в серии тегов «p», которые будут внутри «div».
Итак, вот HTML:
<body>
<div id="listView"></div>
</body>
А вот и JavaScript в теге:
sessionStorage.eventid = 2;
var playerList = [];
playerList[0].id = 0;
playerList[0].name = "Add New Player";
playerList.push({
id: 5,
name: "Asako"
});
playerList.push({
id: 6,
name: "James"
});
playerList.push({
id: 7,
name: "Brian"
});
playerList.push({
id: 8,
name: "Helmut Spargle"
});
function listAll() {
var element = document.getElementById("listView");
var div;
var node;
for (var i = 0; i < playerList.length; i++) {
div = document.createElement("div");
div.setAttribute("onClick", "javascript: formOver(" + playerList[i].id + ")");
node = "<p>" + playerList[i].name + "<br />\n" +
"<small> </small>\n" +
"</p>\n";
div.appendChild(node);
element.appendChild(div);
}
}
window.onLoad = function(){
listAll();
}
Это ничем не наполняется. Я также разместил это на JSFiddle.
Я неправильно понял, как работает Array.push? Или что-то делать с appendChile и createElement?
Заранее спасибо за помощь.
playerList[0]
, когдаplayerList[0]
не определено. Итак,playerList[0].id
недействителен. Просто добавьте элементы сpush
, как и все остальные. Во-вторых, вы не можете использоватьappendChild
и передать ему строку. Вам нужно передать ему элемент. Например, элемент, созданный с помощьюcreateElement
. - person Matt Burland   schedule 26.06.2014document.creatTextNode("string");
, и он выводит все теги в виде строк вместо того, чтобы анализировать их как HTML. Означает ли это, что мне придется сделать кучу элементов и узлов отдельными друг от друга? Или я должен просто использоватьinnerHTML
? - person SimpleProgrammer   schedule 26.06.2014innerHTML
, если хотите. Для консоли зависит от вашего браузера, но F12 — хороший выбор. В противном случае загляните в меню вашего браузера, возможно, в разделы «Инструменты» и «Веб-разработчик» или что-то подобное. Или просто погуглите, как увидеть консоль javascript в браузере x. Консоль — это первый шаг в отладке, именно здесь будут появляться ваши сообщения об ошибках. - person Matt Burland   schedule 26.06.2014