jQuery为选定对象获取子项

时间:2015-04-08 14:38:25

标签: javascript jquery

我有一个被点击的选定对象。当发生这种情况时,我想检索该对象,然后找到具有特定类值的子项,以便我可以禁用它们。

我能够得到这个对象,但是当我访问这些孩子时,我总是得到" undefined"即使我能看到孩子们。 我浏览了这个对象,我可以看到我正在寻找的类属性值。

有人可以告诉我,如果我正确引用这个吗? 以下是我的代码, 该问题的具体问题是,

var kids = clicked_obj.children(' .ui-selected');

            // manually trigger the "select" of clicked elements
        $(".page").click(function (e) {
            console.log(e);
            //var selected_divs = $(".page").find("div[class*='ui-selected']");
            var selected_divs = $(".page").find(".existingFieldItem.ui-selected");

            selected_divs.each(function () {
                if (e.ctrlKey == true) {
                    var clicked_obj = e.target.parentElement;
                    var kids = clicked_obj.children('.ui-selected');

                    console.log("Ctrl clicked");
                    console.log($(this).attr("id"));

                    kids.each(function () {
                        $(this).removeClass("ui-selected");
                    });


                    // if command key is pressed don't deselect existing elements
                    $(this).removeClass("ui-selected");
                    $(this).addClass("ui-selecting");


                }
                else {
                    if ($(this).hasClass("ui-selected")) {
                        // remove selected class from element if already selected
                        $(this).removeClass("ui-selected");
                    }
                    else {
                        // add selecting class if not
                        $(this).addClass("ui-selecting");
                    }
                }
            });

            $(".page").data("ui-selectable")._mouseStop(null);
        });

    });

1 个答案:

答案 0 :(得分:2)

你错过了一个jQuery选择:

var clicked_obj = $(e.target.parentElement);

e.target.parentElement是一个DOM元素对象,而不是jQuery选择。