[英]How to access the dynamically created <li> Element in javascript?
我正在尝试访问动态创建的元素<li>
。我已经尝试使用 TagName 但它不起作用......
HTML
<body onload="ops()">
<div id="list"></div>
JavaScript
function ops()
{
var ar=["Nucleotide_chnage","Ethinicity","study of dance","disease"];
var text="<ul>";
for(i in ar)
{
text+="<li>"+ar[i]+"<span>"+">"+"</span>"+"</li>";
}
text+="</ul>";
var y=document.getElementById("list").innerHTML=text;
}
var close=document.getElementByTagName("li");
for(var i=0;i<close.length;i++)
{
close[i].addEventListener("click",function(){
this.parentElement.style.display='none';
});
}
我想澄清一下 onload 事件可以通过点击事件来关闭吗?
这应该可以工作,在评论中解释并改进了一些删除连接。
var body = document.querySelector("body");
var ar=["Nucleotide_chnage","Ethinicity","study of dance","disease"];
var ul = document.createElement('ul');
for(i in ar) {
// text+="<li>"+ar[i]+"<span>"+">"+"</span>"+"</li>";
var li = document.createElement('li');
var span = document.createElement('span');
span.textContent = ">";
li.appendChild(span);
ul.appendChild(li);
}
// You have to attach the elements to DOM to create listeners
body.appendChild(ul);
// you have a typo
// getElementByTagName is getElementsByTagName
var close=document.getElementsByTagName("li");
for(var i=0;i<close.length;i++) {
close[i].addEventListener("click",function(){
this.parentElement.style.display='none';
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.