如果有变量data = '<div>... <button id="remember"> ... </button> ...</div>'
,是否可以将.button();
方法应用于该变量内的按钮?
我尝试了以下内容:
$('#remember', data).button();
但这不起作用。在那之后,我只做$(data).dialog();
,这是有效的。
我有一个解决方法,那就是append
文档的变量data
,调用.button()
然后调用.dialog()
,但是附加和删除
divs
似乎不正确。
答案 0 :(得分:1)
您可以使用.find(selector)
和.end()
这样做
var data = '<div>... <button id="remember"> ... </button> ...</div>';
$(data).find("#remember").button().end().dialog();
有关其工作原理的细分:
$(data)
- 从字符串中创建文档片段.find("#remember")
- 找到里面的<button>
.button()
- 在该元素上创建jQuery UI按钮效果.end()
- 返回上一个设置选择器,实际上是$(data)
.dialog()
- 在整个数据元素上创建一个对话框,因为.end()
放置了链。答案 1 :(得分:1)
不,该变量中没有“按钮”,只是一串字符。在将方法应用于该元素之前,您必须将按钮添加到DOB(例如,通过使用append(),就像您已经在做的那样)。
编辑:显然不是!见下面的评论。