首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Uncaught : children[i].children不是函数

Uncaught : children[i].children不是函数
EN

Stack Overflow用户
提问于 2017-11-20 17:30:27
回答 1查看 6.1K关注 0票数 3

我有一个函数,从列表"my_dynamic_list“中获取名为”子- li“的所有li元素。每个li元素都有三个名为object_ck_bx、write_ck_bx、view_ck_bx的复选框,我需要得到那个复选框的值,但是我得到的是“子函数不是函数”,为什么代码可以访问li标签名而不能访问li子元素呢?

代码语言:javascript
复制
 function getTreeData() {
        // Get All Li elements thats contains the checkboxes form the type object,read,write
        var children = $('#my_dynamic_list').children().find('li[name=children-li]');
        var extracted_data = [];
        for (i = 0; i < children.length ; i++) {
            alert(children[i].tagName); //this gives li

            if (children[i].children().find('input[name=object_ck_bx]').checked == true) { // This Line gives Uncaught TypeError: children[i].children is not a function
                var profile_code = children[i].children().find('input[name=object_ck_bx]').id;
                var view = children[i].children().find('input[name=view_ck_bx]').checked;
                var write = children[i].children().find('input[name=write_ck_bx]').checked;
                alert('profile_code' + profile_code);
                var item = [];
                item = { Id: profile_code, read: view, write: write };
                extracted_data.push(item);
            }

        }
      //  alert(extracted_data);
        return extracted_data;
    }

Html代码:

浏览器中的li属性看起来像

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-20 17:34:09

当您第一次调用.children()时,您将得到一个普通的HTMLElement对象数组。您要调用的方法.children()是jQuery集合的方法。因此,为了从获取jQuery的普通HTMLElement中生成一个children[i]对象,将其包装到jQuery构造函数中,如下所示:

代码语言:javascript
复制
$(children[i]).children() // ...
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47397834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档