指定不带jQuery且没有NodeLists的数组

时间:2015-07-22 08:01:14

标签: nodelist

Challenge =如何在没有jQuery且没有NodeLists的情况下指定数组。

目前,我使用以下jQuery: $('audio')然后迭代每个<audio>元素,这绝对有效。我使用传统的for循环迭代这个数组,甚至使用.each构造。

然而,为了避免使用jQuery而没有nodeLists,我完全无能为力。

我希望document.querySelectorAll("audio")成为{j}等同于$('audio'),但它似乎并非如此。 querySelectorAll("audio")getElementsByTagName("audio")生成NodeLists。不仅如此, “audio”不被视为标签 我是要为每个<audio>添加一个类甚至名称并使用指定的类或名称作为选择器吗?

肯定需要帮助......非常感谢。

1 个答案:

答案 0 :(得分:0)

以为当你提到我的帖子时我会回答:)

有几种方法可以将NodeList解析为数组,在帖子中有介绍。

最好的办法是创建一个可重复使用的函数来处理转换:

function $$(selector, scope) {
    return [].slice.call((scope || document).querySelectorAll('div'));
}

用法:

$$('.elem'); // document > .elem
$$('.elem', '.parent'); // .parent > .elem    
祝你好运!