为了账号安全,请及时绑定邮箱和手机立即绑定

我试图更改数组中每个项目的“值”,但每次发生此错误时“无法设置未定义的属性‘innerHTML’”

我试图更改数组中每个项目的“值”,但每次发生此错误时“无法设置未定义的属性‘innerHTML’”

Go
呼唤远方 2023-08-21 16:04:20
我正在尝试更改创建的元素上的值,并使工作更简单,我为它们提供了类,以便稍后可以轻松地将其内容更改为数组,但当我尝试时根本不起作用    let div_section = document.createElement('div');    for (i = 0; i < 2; i++) {        let section_boxes = document.createElement('section');        section_boxes +1;        section_boxes.setAttribute('class','box');        div_section.appendChild(section_boxes);            let boxes_h2 = document.createElement('h2');        boxes_h2 +1;        boxes_h2.setAttribute('class','boxesTitle');        section_boxes.appendChild(boxes_h2);        let boxes_p = document.createElement('p');        boxes_p +1;        boxes_p.setAttribute('class','boxesP');        section_boxes.appendChild(boxes_p);             };    //Grabing classes    let getBoxes = document.getElementsByClassName('box');    let getTitle = document.getElementsByClassName('boxesTitle');    let getText = document.getElementsByClassName('boxesP');        //Don't know why doesn't work     getText[0].innerHTML = "Some Random text";    getTitle[0].innerHTML = "Title";    for(i = 0; i < getBoxes.length; i++){        getBoxes[i].style.backgroundColor = "#947062";    };
查看完整描述

2 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

你忘了附加正文,这就是原因


  let div_section = document.createElement("div");


  for (i = 0; i < 2; i++) {

    let section_boxes = document.createElement("section");

    section_boxes + 1;

    section_boxes.setAttribute("class", "box");

    div_section.appendChild(section_boxes);


    let boxes_h2 = document.createElement("h2");

    boxes_h2 + 1;

    boxes_h2.setAttribute("class", "boxesTitle");

    section_boxes.appendChild(boxes_h2);


    let boxes_p = document.createElement("p");

    boxes_p + 1;

    boxes_p.setAttribute("class", "boxesP");

    section_boxes.appendChild(boxes_p);

  }


  // addedline of code added

  document.body.append(div_section);


  //Grabing classes

  let getBoxes = document.getElementsByClassName("box");

  let getTitle = document.getElementsByClassName("boxesTitle");

  let getText = document.getElementsByClassName("boxesP");


  //Don't know why doesn't work

  getText[0].innerHTML = "Some Random text";

  getTitle[0].innerHTML = "Title";

  for (i = 0; i < getBoxes.length; i++) {

    getBoxes[i].style.backgroundColor = "#947062";

  }


查看完整回答
反对 回复 2023-08-21
?
POPMUISE

TA贡献1765条经验 获得超5个赞

您不添加div_section到文档 DOM。


let div_section = document.createElement('div');


// This was missing

document.body.appendChild(div_section);


for (i = 0; i < 2; i++) {

    let section_boxes = document.createElement('section');

    section_boxes +1;

    section_boxes.setAttribute('class','box');

    div_section.appendChild(section_boxes);


    let boxes_h2 = document.createElement('h2');

    boxes_h2 +1;

    boxes_h2.setAttribute('class','boxesTitle');

    section_boxes.appendChild(boxes_h2);


    let boxes_p = document.createElement('p');

    boxes_p +1;

    boxes_p.setAttribute('class','boxesP');

    section_boxes.appendChild(boxes_p); 


    

};


//Grabing classes

let getBoxes = document.getElementsByClassName('box');

let getTitle = document.getElementsByClassName('boxesTitle');

let getText = document.getElementsByClassName('boxesP');



getText[0].innerHTML = "Some Random text";

getTitle[0].innerHTML = "Title";

for(i = 0; i < getBoxes.length; i++){

    getBoxes[i].style.backgroundColor = "#947062";

};


查看完整回答
反对 回复 2023-08-21
  • 2 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信