我試圖寫一個函數與我的頁面中的元素id等於一個字符串,並追加兒童到該元素。但是我對JS並不熟悉,也不知道我的函數有什麼問題。這是功能。 「set」只是一個字符串集的數組(它包含多個名稱)。JavaScript查找元素與字符串作爲編號
function printNetwork(set,id){
console.log("id is "+id);
var node=document.getElementById(id);
console.log("found"+node);
for(var s in set){
var className="leaf";
var content = document.createTextNode("<p class="+className+">"+s+"</p>");
console.log(content);
node.appendChild(content);
}
}
然後我調用的函數:
var ced ="${commented}";
console.log(ced);//ced is like "["Mike"]"
var cedArr = JSON.parse(ced.replace(/"/g, '"'));//parse it back to set
console.log(cedArr);
printNetwork(cedArr,"ced");
閱讀從控制檯它說:「節點」是foundnull日誌,和「內容」爲「<p class=leaf>0</p>
」和使用appendChild失敗。 我的問題是,如何將id傳遞到它通過參數搜索元素的函數中?我習慣了Java的工作方式,現在我對JS的工作方式有些困惑......
建議感謝!
你有id爲'ced'元素在你的DOM? – taxicala
'set'是一個'Array'還是一個'Object'?這裏有一個非常重要的區別,如果它實際上是'Array',則不能使用這裏使用的'for'語法。 ('myArray.forEach(function(s){...'是一個很好的選擇) – Katana314
@ Katana314感謝提醒我!是的for語法不起作用,我試着foreach – OrlandoL