Javascript:获取动态创建的div的innerHTML
我从xml文件(电影信息)中检索一些信息,并根据每部电影动态创建一些DOM元素。当我点击test元素时,我想得到电影标题的值。现在,无论我点击哪部电影,它都会得到上一部介绍的电影的标题 当我单击该div而不是for循环引入的最后一个div时,如何获得每部电影的标题Javascript:获取动态创建的div的innerHTML,javascript,html,xml,Javascript,Html,Xml,我从xml文件(电影信息)中检索一些信息,并根据每部电影动态创建一些DOM元素。当我点击test元素时,我想得到电影标题的值。现在,无论我点击哪部电影,它都会得到上一部介绍的电影的标题 当我单击该div而不是for循环引入的最后一个div时,如何获得每部电影的标题 xmlDoc=xmlhttp.responseXML; var x=xmlDoc.getElementsByTagName("movie"); for (i=0;i<x.length;i
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName("movie");
for (i=0;i<x.length;i++)
{
var titlu = x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
var description = x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue;
var descriere = document.createElement('div');
descriere.className='expandedDescriere';
descriere.innerHTML = description;
var titlediv = document.createElement('div');
titlediv.className = 'title';
titlediv.id='title';
titlediv.innerHTML = title;
var test=document.createElement('div');
test.className='test';
test.onclick= function(){
var filmName= test.previousSibling.innerHTML;
alert(filmName);
}
placeholder.appendChild(titlediv);
placeholder.appendChild(test);
placeholder.appendChild(descriere);
}
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName(“电影”);
对于(i=0;i我认为您的问题可能在您分配给onclick
的函数中:
test.onclick= function(){
var filmName= test.previousSibling.innerHTML; // <===
alert(filmName);
}
test.onclick=function(){
var filmName=test.previousSibling.innerHTML;//使用this
引用单击的元素:
test.onclick = function() {
var filmName = this.previousSibling.innerHTML;
alert(filmName);
};
谢谢:)这很有效,但我会接受下面的答案。答案是一样的,但我认为正确答案中的分数对他的帮助要大于你。