首先定位到 id= div1的那个盒子,把范围限定在其中,因为span标签在其中;
获取元素方法:
方法①:let div1_spans = document.querySelectorAll("div#div1 span")
方法②:let div1_spans = document.querySelector("div#div1").getElementsByTagName("span")
接着再声明一个变量span_len来保存span标签的个数(就是长度),以便在使用for循环时不用每循环一次都要检测span标签的个数,否则会造成繁琐的性能消耗;
let span_len = div1.spans.length
再使用for循环,
for(let i = 0i <span_leni++) {
div1_spans[i].setAttribute(" 'id',span"+( i + 1 ))
//或者 div1_spans[i].id = "span" + (i + 1)
}
把document.getElementById('one').innerHTML='one'
改成
window.onload=function()
{
document.getElementById('one').innerHTML='one'
}
因为执行到那句js的时候,还没有生成id是"one"的那个div.
getElementById获得的不到,返回null
也可以把你的那段js放到最后,比如放到</html>后面,这样,div在js执行之前就创建了
就可以访问到了,不过放到window.onload=function(){}中更正规一下