使用querySelectorAll后无法将元素推送到数组

MantasČekanauskas

所以我有一个简单的类,几乎没有属性。我使用原型制作方法添加了一些方法,这些方法返回this,所以我可以将tham链接在一起。

Get方法找到所有元素并将其放入allCurrentElements,这是一个数组(或者至少我认为是)。当我使用CreateElementmethod时,它只是创建了element并尝试将其推送到现有的array allCurrentElements

要使用它,只需编写var a = _h.Get('p').CreateElement('div')这是我遇到错误的地方Uncaught TypeError: this.allCurrentElements.push is not a function(…)

如果我尝试使用索引分配新创建的元素,则它不会引发错误,但是此元素不会出现在数组中。

var _h = (function(){
    var Helper = function(){
        this.allCurrentElements = [];
    }

    Helper.prototype.Get = function(query){
        this.allCurrentElements = document.querySelectorAll(query);
        return this;
    }

    Helper.prototype.CreateElement = function(el, attr) {
        var elem = document.createElement(el);
        for (var a in attr) {
            elem[a] = attr[a];
        }

        //this.allCurrentElements[this.allCurrentElements.length] = elem;
        this.allCurrentElements.push(elem);
        return this;
    }

    return new Helper();
})();

https://jsfiddle.net/Ldp58onu/

春天

您必须检查Document.querySelectorAll()文档https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll

返回所有匹配元素节点的非活动NodeList。

NodeList的用法与数组非常相似,很容易在其上调用Array.prototype方法,但是NodeList对象没有任何熟悉的Array方法。

因此,您必须像这样遍历NodeList:

Array.prototype.forEach.call(document.querySelectorAll(query), function(element){ 

        allCurrentElements.push(element);

});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用大括号将元素推送到 JSON 数组

来自分类Dev

AngularJS将列表元素推送到数组

来自分类Dev

无法将值推送到mongoDB数组

来自分类Dev

将 getCurrentPosition() 值推送到数组中,但无法控制台记录数组元素

来自分类Dev

将当前元素的子元素的文本推送到数组的语法

来自分类Dev

Ajax回发后将项目推送到数组中

来自分类Dev

将元素推送到新数组onClick VueJS?

来自分类Dev

MongoDB将数据推送到特定的数组元素

来自分类Dev

我无法使用node.js将数组推送到mongodb文档

来自分类Dev

使用upsert时无法将新数据推送到数组中

来自分类Dev

无法使函数将数组推送到NodeJS中的redis列表

来自分类Dev

无法将数据从sql查询推送到数组进行比较

来自分类Dev

无法将子文档推送到Mongoose中的文档数组

来自分类Dev

无法将项目推送到状态内的项目数组

来自分类Dev

将内容推送到数组

来自分类Dev

使用codeigniter php将数据推送到数组中

来自分类Dev

使用php将键值推送到空数组中

来自分类Dev

如何使用Ajax将数据推送到数组

来自分类Dev

如何使用while循环PHP将数据推送到数组

来自分类Dev

如何使用 PHP 将现有值对推送到数组?

来自分类Dev

JavaScript:将每个 querySelectorAll 结果推送到变量中

来自分类Dev

无法使用git将更改推送到github

来自分类Dev

无法使用php将推送通知发送到ios

来自分类Dev

如何将所有输入元素作为单独的元素推送到数组?

来自分类Dev

Javascript推送到多维数组中的元素

来自分类Dev

PHP比较元素值并推送到数组

来自分类Dev

将列表项元素的数组推送到循环之外的数组(纯JavaScript)

来自分类Dev

将数组中的元素推送到mongodb中的单个数组中

来自分类Dev

Rails将元素推送到结果查询

Related 相关文章

  1. 1

    使用大括号将元素推送到 JSON 数组

  2. 2

    AngularJS将列表元素推送到数组

  3. 3

    无法将值推送到mongoDB数组

  4. 4

    将 getCurrentPosition() 值推送到数组中,但无法控制台记录数组元素

  5. 5

    将当前元素的子元素的文本推送到数组的语法

  6. 6

    Ajax回发后将项目推送到数组中

  7. 7

    将元素推送到新数组onClick VueJS?

  8. 8

    MongoDB将数据推送到特定的数组元素

  9. 9

    我无法使用node.js将数组推送到mongodb文档

  10. 10

    使用upsert时无法将新数据推送到数组中

  11. 11

    无法使函数将数组推送到NodeJS中的redis列表

  12. 12

    无法将数据从sql查询推送到数组进行比较

  13. 13

    无法将子文档推送到Mongoose中的文档数组

  14. 14

    无法将项目推送到状态内的项目数组

  15. 15

    将内容推送到数组

  16. 16

    使用codeigniter php将数据推送到数组中

  17. 17

    使用php将键值推送到空数组中

  18. 18

    如何使用Ajax将数据推送到数组

  19. 19

    如何使用while循环PHP将数据推送到数组

  20. 20

    如何使用 PHP 将现有值对推送到数组?

  21. 21

    JavaScript:将每个 querySelectorAll 结果推送到变量中

  22. 22

    无法使用git将更改推送到github

  23. 23

    无法使用php将推送通知发送到ios

  24. 24

    如何将所有输入元素作为单独的元素推送到数组?

  25. 25

    Javascript推送到多维数组中的元素

  26. 26

    PHP比较元素值并推送到数组

  27. 27

    将列表项元素的数组推送到循环之外的数组(纯JavaScript)

  28. 28

    将数组中的元素推送到mongodb中的单个数组中

  29. 29

    Rails将元素推送到结果查询

热门标签

归档