jQuery中.add()的等效javascript函数是什么?

时间:2018-09-12 12:45:17

标签: javascript jquery

例如对于给定的jquery片段,应该是等效的javascript。 javascript中的等效添加方法可能会有所帮助。

$("h1").add("span").add("h2");

正如jQuery文档中明确提到的那样-.add()不添加任何DOM元素。 https://api.jquery.com/add/因此,.appendChild()在这里无法达到目的

3 个答案:

答案 0 :(得分:5)

https://api.jquery.com/add上的文档说

  

“给出一个表示一组DOM元素的jQuery对象,   .add()方法根据这些元素的并集构造一个新的jQuery对象   元素以及传递到方法中的元素。 “。

此方法不执行任何DOM操作,它纯粹是用于操作jQuery对象的东西。因此,据我所知,没有直接的等效项-如果您不使用jQuery,那么根据定义,您将无法创建或操纵jQuery对象。

P.S。您始终可以检查该方法的jQuery源代码以了解其作用。

答案 1 :(得分:3)

这将创建页面中所有<h1><span><h2>的集合

使用香草js收集的那些相同元素将是:

document.querySelectorAll('h1, span, h2')

我的猜测是,您希望add()所做的事情与此不同,但是如果您没有更多关于您的用例的详细信息,这将可以解决问题中显示的内容

答案 2 :(得分:2)

仅使用本机DOM API,您将需要做更多的事情:

"colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131",  "curves=vintage", "curves=negative"
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);