Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在javascript中获取子元素的文本_Javascript_Html_Dom - Fatal编程技术网

无法在javascript中获取子元素的文本

无法在javascript中获取子元素的文本,javascript,html,dom,Javascript,Html,Dom,我正在尝试制作一个库管理系统,它的一个功能是编辑任何记录,问题是用户编辑并保存记录后,该记录应在html表中更新。目前,每个记录有4个输入:书名、作者、收件人和发行日期。u更新后,除作者姓名外的所有记录都将更新。作者名称与最初输入的名称相同,不会更改。如果有任何帮助,我将不胜感激 下面是编辑按钮及其事件侦听器的Javascript代码: let item1 = document.createElement('td'); let item2 = document.createElement

我正在尝试制作一个库管理系统,它的一个功能是编辑任何记录,问题是用户编辑并保存记录后,该记录应在html表中更新。目前,每个记录有4个输入:书名、作者、收件人和发行日期。u更新后,除作者姓名外的所有记录都将更新。作者名称与最初输入的名称相同,不会更改。如果有任何帮助,我将不胜感激

下面是编辑按钮及其事件侦听器的Javascript代码:

let item1 = document.createElement('td');
    let item2 = document.createElement('td');
    let item3 = document.createElement('td');
    let item4 = document.createElement('td');
    let item5 = document.createElement('td');
    let item6 = document.createElement('td');
    let btnRemove = document.createElement('button');
    let btnEdit = document.createElement('button');

    item1.innerHTML = bookTitle;
    item2.innerHTML = author;
    item3.innerHTML = recipient;
    item4.innerHTML = dateIssued;
    btnRemove.className = 'btn btn-outline-danger btn-remove';
    btnRemove.textContent = 'X';
    btnEdit.className = 'btn btn-outline-success btn-edit';
    btnEdit.textContent = 'Edit';
    

    itemRow.appendChild(item1);
    itemRow.appendChild(item2);
    itemRow.appendChild(item3);
    itemRow.appendChild(item4);
    item6.appendChild(btnEdit);
    item5.appendChild(btnRemove);
    itemRow.appendChild(item6);
    itemRow.appendChild(item5);
    list.appendChild(itemRow);

    //restting the form
    form.reset();

    

    btnEdit.addEventListener('click', (e)=>{
        console.log('success');
        msgArea.className = 'alert alert-info';
        msgArea.textContent = 'Edit the fields'
        setTimeout(()=>msgArea.remove(), 3000);

        document.querySelector('#title').value = bookTitle;
        document.querySelector('#author').value = author;
        document.querySelector('#recipient').value = recipient;
        document.querySelector('#date-issued').value = dateIssued;

        submitBtn.style.display = 'none';
        let saveEditBtn = document.createElement('button')
        saveEditBtn.className = 'btn btn-dark'
        saveEditBtn.textContent = 'Save';
        document.querySelector('.btns').appendChild(saveEditBtn);

        saveEditBtn.addEventListener('click', (e)=>{
            let newTitle = document.querySelector('#title').value;
            let newAuthor = document.querySelector('#author').value;
            let newRecipient = document.querySelector('#recipient').value;
            let newDate = document.querySelector('#date-issued').value;
            form.reset();
            saveEditBtn.style.display = 'none';
            submitBtn.style.display = 'block';

            console.log(btnEdit.parentElement.parentElement.children[1].textContent)

            btnEdit.parentElement.parentElement.children[0].textContent = newTitle;
            btnEdit.parentElement.parentElement.children[1].textConent = newAuthor;//HERE IS THE PROBLEM
            btnEdit.parentElement.parentElement.children[2].textContent = newRecipient;
            btnEdit.parentElement.parentElement.children[3].textContent = newDate;

        });
    });
以下是问题的图像: 之前

更新期间

更新后(此处作者姓名不更新,其余则更新)
问题就在这里

btnEdit.parentElement.parentElement.children[1].textConent = newAuthor; //HERE IS THE PROBLEM
问题在于文本内容的拼写,您忘记在内容中添加“t”

btnEdit.parentElement.parentElement.children[1].textContent = newAuthor; //HERE IS THE SOLUTION

注意:-存在导致错误的拼写错误,代码中没有其他错误。

innerText或innerHTML;此处不需要textConect。若要添加元素的querySelector,将不起作用。你要的是一个有头衔的身份证,根本没有这回事。但有趣的是,您已经在顶部定义了每个元素,以便可以引用它们,或者调用“tr>th”@n个子元素或循环it@blanknamefornow谢谢innerHTML起作用了,但我很好奇为什么textContent不能仅在该字段中起作用?您没有正确使用选择,它会出现,并且通过某种查询,它可以起作用。但是,是的,修复你的选择器,下面是答案。