0

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

这是一个关于小提琴的例子,可以试试,或者在这里查看例子:

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()的。

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

4

1 回答 1

3

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

$(Dialog).find("input")

演示:小提琴

于 2013-11-07T03:00:06.893 回答