使用javascript选择元素的更快方法
我想知道是否有更快的方法来选择:使用javascript选择元素的更快方法,javascript,html,Javascript,Html,我想知道是否有更快的方法来选择: document.getElementById('container') .getElementsByTagName('p')[0] .getElementsByTagName('strong')[1] .innerText 结构如下: <div id='container'> <p> <strong></strong> <str
document.getElementById('container')
.getElementsByTagName('p')[0]
.getElementsByTagName('strong')[1]
.innerText
结构如下:
<div id='container'>
<p>
<strong></strong>
<strong> what I would like to get</strong>
</p>
<div id='moredivs'>
</div>
<div id='moredivs'>
</div>
</div>
我想要的
更快,不-更优雅,是:
首先,您需要有效的HTML:
console.log(
document.querySelector(#container>p>strong:last child”).textContent
);代码>
我想要的文本
这是我经常使用的一个方便的技巧。它看起来很像jQuery,但事实并非如此
const $ = document.querySelector.bind(document);
const it = $('container').innerText
或
不完全是jQuery,但键入比不键入要少一些,并且可以在整个javascript文件中重用
当然,也可以将其合并到这个方便的速记中
const$=document.querySelector.bind(文档);
const txt=$('#container>p:first of type>strong:n第n个子项(2)')。innerText
console.log(txt)代码>
我想要的
这是我最常使用的“更快”?你是说代码更少?如果这是HTML,而且它不可能改变,那么你可以使用查询选择器
(我怀疑它是否更快,但我不知道)。从未想过用这种方式,每天学习一些东西,干杯@cssphus:)
const $$ = document.querySelectorAll.bind(document);
const it = $$('#container p')[0].getElementsByTagName('strong')[1].innerText
<div id='container'>
<p>
<strong></strong>
<strong id='thisText'> what I would like to get</strong>
</p>
<div id='moredivs1'> //classes are reusable, ids "aren't"
</div>
<div id='moredivs2'>
</div>
</div>
document.querySelector('#thisText').innerText