关于appendChild()方法的一个困惑

关于appendChild()方法的一个困惑

<div class="youarepig"></div>
<div class="youarepig"></div>
  • 以上代码是html中的代码
var youarepig = document.querySelectorAll('.youarepig') //获取所以类名为youarepig的标签
    var div = document.createElement('div') //创建div标签
    div.setAttribute('id',"number_cell_"+1+"_"+2);
    div.innerHTML = '哈哈哈哈'; //设置div标签文本值为'哈哈哈哈'
    youarepig.appendChild(div); //将新创建的div标签插到tr标签中
  • 以上代码是js中的代码

预想结果输出应该是页面中出现了id为number_cell_1_2的div标签,但浏览器调试器爆出了youarepig.appendChild is not a function错误,困惑不已,写下博客,待以后解决

querySelectorAll()获取的将会是一个数组,若现给数组添加标签,需要给定下标。

for(i=0;i<youarepig.length;i++){
        var div = document.createElement('div') //创建div标签
        // div.setAttribute('class','number_cell'); //设置标签属性aa=‘td_aa’
        div.setAttribute('id',"number_cell_"+i+"_"+2);
        div.innerHTML = '哈哈哈哈'; //设置div标签文本值为'哈哈哈哈'
        youarepig[i].appendChild(div); //将新创建的div标签插到tr标签中
        console.log(youarepig[i])
    }

querySelectorAll与getElementsByClassName的不同

querySelectorAll()返回结果是静态的,也就是说如果在返回后页面标签发生变化,返回结果还是不会改变
querySelectorAll()括号里面字符串跟CSS选择器一样添加.和#,getElementsByClassName()则不需要,只需要添加对于类名或标签名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值