如何过滤JQuery对象?

时间:2013-11-07 02:55:09

标签: javascript jquery jquery-ui jquery-filter

我创建了一个对话框并将其存储在一个变量中。后来我想在这个对象上运行一些JQuery,但我无法让它工作。

以下是试用fiddle的示例,或查看此处的示例:

var Dialog = $('<div title="Form"><p>Foo foo, bar foo bar bar.</p><input type="checkbox" id="foo"/><label for="foo">foo</label><input type="checkbox" id="bar"/><label for="bar">bar</label></div>').dialog({
    modal: true,
    autoOpen: false
});
$(Dialog).filter("input").button();
$(Dialog).dialog("open");

我想在.button()变量的所有输入元素上运行Dialog,因为我打开了对话框。我现在得到的结果是,如果你根本没有应用.button(),你会期望的。

如果我在consol中尝试$(Dialog).filter("div"),我会得到div元素,但如果我在div中尝试任何内容,例如p或label,我什么也得不到。

1 个答案:

答案 0 :(得分:3)

您需要使用.find(),因为您正在寻找后代元素,.filter()用于将匹配集减少到满足给定条件的子集。

$(Dialog).find("input")

演示:Fiddle