发布网友 发布时间:2022-04-20 20:41
共4个回答
热心网友 时间:2022-04-20 22:10
从截图来看,应该是img2这个变量不是一个domNode,通过img2.parentNode得到的结果是`undefined`,在执行img2.parengNode.appendChild的时候就变成了undefined.appendChild,而方法不存在就报错了。
另外截图有个问题,随着clone的次数越多,id="img2"的图片也随着增多,页面会出现多个相同的id,这个是不规范的。
我这边根据你的描述,写了一个demo,稍微加了点样式便于区分。
先来看下代码,截图如下(由于这个编辑器不支持代码格式了):
然后看看点击按钮后的效果,还是只能截图咯:
顺便再看下生成的嵌套结构:
希望能解决你的问题,如有疑问,欢迎追问!
热心网友 时间:2022-04-20 23:28
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>手机端测试</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
body div{
width: 100vw;
height: 20vh;
}
img{
width: 30%;
height: 100%;
margin-left: 2%;
}
</style>
</head>
<body>
<button onclick="copy()">copy</button>
<section id="section">
<div>
<img src="./01.png">
<img src="./02.png">
<img src="./01.png">
</div>
</section>
<script>
let myDiv = document.getElementsByTagName('div')[0];
function copy(){
let newDiv = myDiv.cloneNode(true);
document.getElementById('section').appendChild(newDiv);
}
</script>
</body>
</html>
效果图:
无敌,共同进步!!!!
热心网友 时间:2022-04-21 01:03
重新检查代码,因为很多地方会因为你的一小点失误而导致报错。热心网友 时间:2022-04-21 02:54
img2没有定义吧,还是代码不全?