如何通过getElementsByClassName()通过javascript获取和使用html中的表?
我想在HTML中检测表中的元素,但是我可以在HTML中找到表(我想),我无法检测表…PS:我无法更改HTML 我是多姆 这是我的密码如何通过getElementsByClassName()通过javascript获取和使用html中的表?,javascript,html,xml,google-chrome-extension,Javascript,Html,Xml,Google Chrome Extension,我想在HTML中检测表中的元素,但是我可以在HTML中找到表(我想),我无法检测表…PS:我无法更改HTML 我是多姆 这是我的密码 alert(document.getElementsByClassName('ep-dp-dt')); 我可以像这样保持警惕 之后,我想检测表或使用表,但我不能。。 我用这个桌子 document.getElementsByClassName('ep-dp-dt').rows var table = document.getElementsByClassN
alert(document.getElementsByClassName('ep-dp-dt'));
我可以像这样保持警惕
之后,我想检测表或使用表,但我不能。。
我用这个桌子
document.getElementsByClassName('ep-dp-dt').rows
var table = document.getElementsByClassName('ep-dp-dt')[0];
for (var i = 0;i < table.rows.length; i++) {
var row = table.rows[i];
}
我的程序崩溃了,它找不到行
在我发布的html中,如何获取和使用表格html?你能给我一些密码吗?谢谢大家! 返回元素数组。要选择第一个元素,需要添加[0]
,如下所示:
document.getElementsByClassName('ep-dp-dt')[0]
然后,要获取行,请尝试以下操作之一:
document.getElementsByClassName('ep-dp-dt')[0].rows
document.getElementsByClassName('ep-dp-dt')[0].getElementsByTagName('tr')
您将得到每行的一个数组。返回一个元素数组。要选择第一个元素,需要添加[0]
,如下所示:
document.getElementsByClassName('ep-dp-dt')[0]
然后,要获取行,请尝试以下操作之一:
document.getElementsByClassName('ep-dp-dt')[0].rows
document.getElementsByClassName('ep-dp-dt')[0].getElementsByTagName('tr')
您将获得每行的一个数组。
GetElementsByCassName
返回一个元素列表,其中包含该类。给元素一个id并使用getElementById()
,或者如果您确定只有一个元素具有该类,请使用document.getElementsByClassName('ep-dp-dt')[0]
getElementsByClassName
返回具有该类的元素列表。给元素一个id并使用getElementById()
,或者如果您确定只有一个元素具有类,则使用document.getElementsByClassName('ep-dp-dt')[0]
getElementsByClassName
将返回元素数组,即使它是页面中的一个元素。您必须选择所需的类索引(在您的情况下为0)
console.log(document.getElementsByClassName('ep-dp-dt')[0]。行)代码>
A.
getElementsByClassName
将返回元素数组,即使它是页面中的一个元素。您必须选择所需的类索引(在您的情况下为0)
console.log(document.getElementsByClassName('ep-dp-dt')[0]。行)代码>
A.
首先getElementsByClassName
方法返回一个HTMLCollection
或NodeList
,因此要获取表,必须从返回的集合中获取元素,如下所示
document.getElementsByClassName('ep-dp-dt').rows
var table = document.getElementsByClassName('ep-dp-dt')[0];
for (var i = 0;i < table.rows.length; i++) {
var row = table.rows[i];
}
然后您可以获取并遍历表元素的行,类似这样
document.getElementsByClassName('ep-dp-dt').rows
var table = document.getElementsByClassName('ep-dp-dt')[0];
for (var i = 0;i < table.rows.length; i++) {
var row = table.rows[i];
}
for(变量i=0;i
首先getElementsByClassName
方法返回一个HTMLCollection
或NodeList
,因此要获取表,必须从返回的集合中获取元素,如下所示
document.getElementsByClassName('ep-dp-dt').rows
var table = document.getElementsByClassName('ep-dp-dt')[0];
for (var i = 0;i < table.rows.length; i++) {
var row = table.rows[i];
}
然后您可以获取并遍历表元素的行,类似这样
document.getElementsByClassName('ep-dp-dt').rows
var table = document.getElementsByClassName('ep-dp-dt')[0];
for (var i = 0;i < table.rows.length; i++) {
var row = table.rows[i];
}
for(变量i=0;i
为了提高兼容性(例如,IE 8不支持GetElementsByCassName()
,但它支持querySelector()
),我建议使用document.querySelector()
,它将返回唯一匹配提供的CSS选择器的第一个匹配节点,而不是节点列表:
var table = document.querySelector('.ep-dp-dt'),
rows = table.rows;
上面将首先检索
元素(假设它都存在并且是文档中与.ep dp dt
选择器匹配的第一个元素),然后使用该节点检索
元素的集合,并将它们存储在行
变量中
显然,要使用
元素,您需要使用for循环对集合进行迭代:
for (var i = 0, len = rows.length; i<len; i++){
console.log(rows[i]);
}
或者,由于Array.from()来自ES6,您可能需要支持较旧的浏览器,因此可以使用以下替代方法:
Array.prototype.slice.call(rows, 0).forEach(function(tr) {
console.log(tr);
});
值得注意的是,此时,document.querySelector()
将返回与给定选择器匹配的第一个节点,如果在文档中找不到与该选择器匹配的元素,则返回null
;这意味着在尝试检索行
集合之前,可能需要测试表
变量的存在性:
var table = document.querySelector('.ep-dp-dt'),
rows;
if (table) {
rows = table.rows;
}
为了提高兼容性(例如,IE 8不支持GetElementsByCassName()
,但它支持querySelector()
),我建议使用document.querySelector()
,它将返回与提供的CSS选择器匹配的唯一第一个匹配节点,而不是节点列表:
var table = document.querySelector('.ep-dp-dt'),
rows = table.rows;
上面将首先检索
元素(假设它都存在并且是文档中与.ep dp dt
选择器匹配的第一个元素),然后使用该节点检索
元素的集合,并将它们存储在行
变量中
显然,要使用
元素,您需要使用for循环对集合进行迭代:
for (var i = 0, len = rows.length; i<len; i++){
console.log(rows[i]);
}
或者,由于Array.from()来自ES6,您可能需要支持较旧的浏览器,因此可以使用以下替代方法:
Array.prototype.slice.call(rows, 0).forEach(function(tr) {
console.log(tr);
});
值得注意的是,此时,document.querySelector()
将返回与给定选择器匹配的第一个节点,如果在文档中找不到与该选择器匹配的元素,则返回null
;这意味着在尝试检索行
集合之前,可能需要测试表
变量的存在性:
var table = document.querySelector('.ep-dp-dt'),
rows;
if (table) {
rows = table.rows;
}
我不能更改HTML,我确信只有一个元素有classI不能更改HTML,我确信只有一个元素有类“This is HTML”-不,它不是;那是一张大教堂的照片。请把你的(“[MCVE]”)HTML添加到你的问题中。我觉得这个简单的问题有很多答案……我把自己排除在外。但现在。它们都不起作用…“这是HTML”-不,不是;那是一张大教堂的照片。请将你的(“[MCVE]”)HTML添加到你的问题中。我觉得这个简单的问题有很多答案……我在算我自己