我寫了這個代碼創建菜單與div
標籤未能改變節點內容+ JavaScript的
HTML:
<div id="firstMenuList">
<div id="firstMenu">choose▼</div>
<div id="menulist" class="menulist"></div>
</div>
的JavaScript:
<script>
function ccc() {
var id="firstMenu";
var ar=new Array("hi","there","hello","world");
var node=document.createElement("div");
var parent=document.getElementById("menulist");
var nodeData="";
for (var i=0;i<ar.length;i++)
{
var node=document.createElement("div");
node.setAttribute("id",id+""+i);
node.setAttribute("class","menulist");
node.setAttribute("onclick","select("+id+""+i+")");
node.style.top=((i+1)*100)+3+"%";
node.innerHTML=ar[i];
parent.appendChild(node);
}
}
function select(id)
{
var p=document.getElementById(id);<-this doesn't work on elements that created dynamically
p.style.backgroundColor="red";
var t = p.innerHTML;
}
</script>
此代碼創建的菜單,但是當我點擊菜單項代碼中斷時。 的錯誤是「父爲空」 -
您的代碼不工作_reason_是,你已經忘記了周圍的ID內的報價。這工作:'node.setAttribute(「onclick」,「select('」+ id +「」+ i +「')」);'但使用其他解決方案發布在這裏。 – 2013-10-30 22:28:31