题中的“元素”是之前之前通过var abc=document.getElementById()方法获取的一个div,再使用var comn=abc.getElementsByTagName("div")方法获取abc底下的div的集合却报错是怎么回事?难道不能用getElementsByTagName()方法获取一个div下的所有div的集合吗?
建议附上代码,我正好遇上这种情况,于是试了一下,是可以的 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>getElementsByTagName</title> </head> <body> <div class="box"> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> <div id="content"> <ul class="con"> <li>11</li> <li>22</li> <li id="li3">33</li> </ul> <div></div> </div> </div> </body> <script type="text/javascript"> var content = document.getElementById('content'); var lis = document.getElementsByTagName('li'); var box = document.getElementsByClassName('box'); console.log(content); console.log(lis); console.log(box); var lis2 = box[0].getElementsByTagName('li'); console.log("类.标签",lis2);//类.标签HTMLCollection(8) [li, li, li, li, li, li, li, li#li3, li3: li#li3] var lis3 = content.getElementsByTagName('li'); console.log("id.标签",lis3);//id.标签HTMLCollection(3) [li, li, li#li3, li3: li#li3] var divs = content.getElementsByTagName('div'); console.log("id.标签",divs);//id.标签HTMLCollection [div] var con = content.getElementsByClassName('con'); console.log("id.类",con);//id.标签HTMLCollection [ul.con] var con2 = box[0].getElementsByClassName('con'); console.log("类.类",con2);//类.类HTMLCollection [ul.con] var con3 = content.getElementById('li3'); console.log("id.id",con3);//报错 var content2 = box[0].getElementById('content'); console.log("类.id",content2);//报错 </script> </html> 补充:忽然发现有时候会使用“id.标签”会报错,可能是变量名的原因,可不用变量名,直接复合可使用(如document.getElementById().documentsByTagName())或者更换变量名
- 2
新手上路,请多包涵建议附上代码,我正好遇上这种情况,于是试了一下,是可以的
补充:忽然发现有时候会使用“id.标签”会报错,可能是变量名的原因,可不用变量名,直接复合可使用(如document.getElementById().documentsByTagName())或者更换变量名