例如,对于给定的jquery代码片段,什么应该是等效的javascript。javascript中等效的add方法会很有帮助。
$("h1").add("span").add("h2");正如jquery文档中明确提到的,.add()不添加任何DOM元素。因此,使用.appendChild()在这里并不起作用。
发布于 2018-09-12 20:54:22
https://api.jquery.com/add上的文档说
“给定一个表示一组DOM元素的jQuery对象,.add()方法从这些元素和传入该方法的元素的并集构造一个新的jQuery对象。”
该方法不执行任何DOM操作,它纯粹用于操作jQuery对象。因此,据我所知,没有直接的等价物--如果你不使用jQuery,那么根据定义,你就不能创建或手动操作jQuery对象。
附注:您可以随时检查该方法的jQuery源代码,以了解它的作用。
发布于 2018-09-12 20:56:13
这将创建页面中所有<h1>、<span>和<h2>的集合
使用vanilla js的这些相同元素的集合为:
document.querySelectorAll('h1, span, h2')我的猜测是,您希望add()做一些与此不同的事情,但如果没有更多有关用例的详细信息,它将执行问题中所示的操作
发布于 2018-09-12 21:04:06
如果只使用原生DOM,则需要做更多的工作:
let collection = [];
let h1 = document.querySelectorAll("h1")
let span = document.querySelectorAll("span")
let h2 = document.querySelectorAll("h2")
collection.push([...h1]);
collection.push([...span]);
collection.push([...h2]);
console.dir(collection);<h1>Headline 1</h1>
<p>THis will not end up in the collection (except <span>this</span>)</p>
<h2>Headline 2</h2>
<span>This closes it out.</span>
https://stackoverflow.com/questions/52295545
复制相似问题