level 2
溜溜不溜溜溜溜
楼主
如下代码,我用element.innerHTML动态创建了ul、li后,再想去获取li时就无法获取了,本来是想让鼠标移上去高亮显示的,求大神帮帮看看,非常感谢~~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="box"></div>
<script type="text/javascript">
//动态创建列表
var datas = ['西施', '貂蝉', '昭君', '贵妃'];
var box = document.getElementById('box');
//创建空数组
var array = [];
array.push( '<ul>');
//遍历数据
for (var i = 0; i < datas.length; i++) {
var data = datas[i];
array.push('<li>' + data + '</li>');
}
array.push( '</ul>');
//动态创建元素
box.innerHTML = array.join('');
//获取元素
var ul = box.getElementsByTagName('ul');
console.dir(ul);//打印HTMLCollection(1)
var lis = ul.children;
console.dir(lis);//打印undefined
for (var i = 0; i < lis.length; i++) {
var li = lis[i];
li.onmouseover = function () {
this.style.backgroundColor = 'red';
}
li.onmouseout = function () {
this.style.backgroundColor = '';
}
</script>
</body>
</html>
2020年07月02日 13点07分
1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="box"></div>
<script type="text/javascript">
//动态创建列表
var datas = ['西施', '貂蝉', '昭君', '贵妃'];
var box = document.getElementById('box');
//创建空数组
var array = [];
array.push( '<ul>');
//遍历数据
for (var i = 0; i < datas.length; i++) {
var data = datas[i];
array.push('<li>' + data + '</li>');
}
array.push( '</ul>');
//动态创建元素
box.innerHTML = array.join('');
//获取元素
var ul = box.getElementsByTagName('ul');
console.dir(ul);//打印HTMLCollection(1)
var lis = ul.children;
console.dir(lis);//打印undefined
for (var i = 0; i < lis.length; i++) {
var li = lis[i];
li.onmouseover = function () {
this.style.backgroundColor = 'red';
}
li.onmouseout = function () {
this.style.backgroundColor = '';
}
</script>
</body>
</html>