Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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
如何通过getElementsByClassName()通过javascript获取和使用html中的表?_Javascript_Html_Xml_Google Chrome Extension - Fatal编程技术网

如何通过getElementsByClassName()通过javascript获取和使用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

我想在HTML中检测表中的元素,但是我可以在HTML中找到表(我想),我无法检测表…PS:我无法更改HTML

我是多姆

这是我的密码

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添加到你的问题中。我觉得这个简单的问题有很多答案……我在算我自己