wil*_*nka 4 elements innertext selectors-api
我想得到一个非常长的html表(随机长度)的整列的所有innerText.我正在使用此代码:
var tbEls = document.querySelectorAll('#tBodyID tr td:nth-child(cidx)');
Run Code Online (Sandbox Code Playgroud)
其中cidx =列索引我想从中提取内容.
但是这样的代码提取了所有的td元素(当然在其中包含innerText).但它并没有直接提取其中的所有innerText.因此我必须使用for循环重新处理返回的tdEls数组,以从每个tbEls [i]元素中提取其自己的innerText.它有效但......
我的问题是:
在纯JS(没有外部库或框架)中,可以使用更直接的方法改进某种方式,只有 querySelectorAll参数一次性('#tBodyID tr td:nth-child(cidx)')
直接获取所有td元素innerText并且只需一个javascript语句而无需重新处理带有for循环或其他任何东西的返回数组?
换句话说,是否有某种innerText选择器可以用来一次性获取它们而不需要任何额外的循环?
如果老浏览器无法识别它就没问题,我很抱歉.
我希望实现的是:
var arrTblColInnerText = document.querySelectorAll('#tBodyID tr td:nth-child(cidx):alltd:innerText');
Run Code Online (Sandbox Code Playgroud)
我想得到一个类似于的数组:
0: value from column cidx cell 0
1: value from column cidx cell 1
2: value from column cidx cell 2
3: value from column cidx cell 3
...
n: value from column cidx cell n
Run Code Online (Sandbox Code Playgroud)
提前致谢.
Nei*_*erg 12
这是 2021 年的一句俏皮话。它表示将从 querySelectorAll 返回的 NodeList 设为数组,然后将 insideText 映射到数组中。
Array.from(document.querySelectorAll("h3 em")).map(x => x.innerText)
我发现最简单的方法是首先将nodeList转换为数组,然后使用map:
var nodes = document.querySelectorAll("h3 em");
var list = [].slice.call(nodes);
var innertext = list.map(function(e) { return e.innerText; }).join("\n");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2243 次 |
最近记录: |