Javascript 如何使用DOM更改表中的值?

Javascript 如何使用DOM更改表中的值?,javascript,html,dom,userscripts,Javascript,Html,Dom,Userscripts,使用DOM编辑表时,如何编辑表的内容 指定的单元格? 我试着在W3上以不同的方式查找,但控制台一直给我这个消息,说明值为空。有人能帮忙吗 这是我试图编辑的表的HTML: <div id="courseSummaryContainer" class="tab"> <table cellspacing="0" class="summaryTable courseSummary smallFontTable" summary="Health Care by province"

使用DOM编辑表时,如何编辑表的内容 指定的单元格?
我试着在W3上以不同的方式查找,但控制台一直给我这个消息,说明值为空。有人能帮忙吗

这是我试图编辑的表的HTML:

<div id="courseSummaryContainer" class="tab">
    <table cellspacing="0" class="summaryTable courseSummary smallFontTable" summary="Health Care by province">
        <thead><tr>
            <th>Name</th>
            <th>Description</th>
            <th>Date of entry</th>
            <th>Rating</th>
            <th>Grade</th>
            <th>Submission entry type</th>
        </tr></thead>
        <tbody>
        <tr class="row-even">
            <td>Illinois</td>
            <td>Online system</td>
            <td>201602</td>
            <td>0100</td>
            <td>5</td>
            <td>Final</td>
        </tr>
        <tr class="row-odd">
            <td>Alabama</td>
            <td>Regional area health</td>
            <td>201606</td>
            <td>0100</td>
            <td>7</td>
            <td>Final</td>
        </tr>
        </tbody>
    </table>
</div>

但它不起作用。

将id用于表,然后再试一次


名称
描述
入境日期
评级
等级
提交条目类型
伊利诺伊州
在线系统
201602
0100
5.
最终的
阿拉巴马州
区域卫生
201606
0100
7.
最终的
var x=document.getElementById(“courseSummaryContainer”).rows[0]。单元格;
x[0]。innerHTML=“新内容”;

table.summaryTable.courseSummary.sm‌​allFontTable
不是表的ID,因此
getElementById
将不起作用

该表没有ID,但它有3个CSS类。这是。
另见

因此,您不能使用
getElementById
,但可以使用

下面代码段中的代码选择第一个表,其中包含类courseSummary,该类包含在courseSummaryContainerdiv中

最后,避免使用
innerHTML

var csTable=document.querySelector(“courseSummaryContainer table.courseSummary”);
if(csTable){
csTable.rows[0]。单元格[0]。textContent=“新内容”;
}
td,th{
边框:1px纯色灰色;
填充:0.2ex 1ex;
}
表{边框折叠:折叠;}

名称
描述
入境日期
评级
等级
伊利诺伊州
在线系统
201602
0100
5.
阿拉巴马州
区域卫生
201606
0100
7.

添加您尝试的javascript?document.getElementById(“table.summaryTable.courseSummary.smallFontTable”)。行[0]。单元格;x[0]。innerHTML=“新内容”;这就是我在其他问题上使用的,这是针对用户脚本的,对吗?Marshmelloooos,堆栈溢出不是这样工作的。只有当情绪袭来时(除其他因素外),我们才会回答。你需要投更多的票,并接受更多关于你之前问题的答案。诚实的投票和接受答案是Stack Exchange站点决定内容质量的基础。您需要插入更多。它会给我以下错误“VM52:1未捕获类型错误:无法读取未定义的属性“0”。如果表中没有行,它将显示错误。若表至少有一行,它将工作。在上面的例子中,只需运行并检查一下,这对OP不起作用,因为他不能像那样预先修改HTML。他无法控制作为浏览器使用的页面;这是一个用户脚本问题。这已经是100%的DOM代码了。(但使用jQuery是明智的。)查找“DOM”。它只是一个用于与网页交互的特殊javascript API。在本例中,
document.querySelector
。我查阅了有关DOM的教程,并一直在阅读相关文档。我使用了你的代码并尝试用tampermonkey运行它,但没有成功。我在这方面的做法有什么问题吗?如果我想将元素中的“Alabama”改为“Georgia”,我应该使用什么命令?这是一个新问题;这和你在这里问的不同;而且它太宽了,不能用鞋钉在这里。将此问题标记为已回答,然后提出一个新问题,确切说明您的目标是什么,以及您如何尝试实现它的MCVE。
document.getElementById("table.summaryTable.courseSummary.sm‌​allFontTable").rows[‌​0].cells; x[0].innerHTML = "NEW CONTENT";