chooseArea();
function chooseArea(){
// 获取chooseArea容器
var chooseArea = document.querySelector('.wrap .main .mainCon .infoWrap .chooseWrap .choose .chooseArea');
// 获取数据
var crumbData = goodData.goodsDetail.crumbData;
// 遍历数组
crumbData.forEach(function(item){
// 创建dl容器
var dlNode = document.createElement('dl');
// var dlNode = document.querySelectorAll('.mainCon .chooseWrap .choose .chooseArea dl')[0];
// 创建dt
var dtNode = document.createElement('dt');
// 将每一个对象中的title的属性,作为dt的文本
dtNode.innerHTML = item.title;
dlNode.appendChild(dtNode);
// 遍历每个对象的data,这里的item对应每一个对象的选项的文本
item.data.forEach(function(item){
// 创建dd
var ddNode = document.createElement('dd');
ddNode.innerHTML = item;
dlNode.appendChild(ddNode);
// console.log(ddNode);
});
chooseArea.appendChild(dlNode);
// console.log(dlNode);
})
console.log(chooseArea);
}
尚品汇.html:462 Uncaught TypeError: Cannot read properties of null (reading 'appendChild')
1.将js代码放在了body标签外面 没有解决
chooseArea.appendChild(dlNode);实现将dlNode节点放入chooseArea
chooseArea 对象获取到的应该是个数组。chooseArea[0] 应该就可以插入了
但是你这个写法是真的难受(var chooseArea = document.querySelector('.wrap .main .mainCon .infoWrap .chooseWrap .choose .chooseArea');)