将Button()应用于变量内的元素

时间:2010-05-14 00:12:02

标签: jquery jquery-ui variables

如果有变量data = '<div>... <button id="remember"> ... </button> ...</div>',是否可以将.button();方法应用于该变量内的按钮?

我尝试了以下内容:

$('#remember', data).button();

但这不起作用。在那之后,我只做$(data).dialog();,这是有效的。

我有一个解决方法,那就是append文档的变量data,调用.button()然后调用.dialog(),但是附加和删除

表示文档上的对话框divs似乎不正确。

2 个答案:

答案 0 :(得分:1)

您可以使用.find(selector).end()这样做

var data = '<div>... <button id="remember"> ... </button> ...</div>';
​$(data).find("#remember").button().end().dialog();​​​​

You can see a quick demo here

有关其工作原理的细分:

  1. $(data) - 从字符串中创建文档片段
  2. .find("#remember") - 找到里面的<button>
  3. .button() - 在该元素上创建jQuery UI按钮效果
  4. .end() - 返回上一个设置选择器,实际上是$(data)
  5. .dialog() - 在整个数据元素上创建一个对话框,因为.end()放置了链。

答案 1 :(得分:1)

不,该变量中没有“按钮”,只是一串字符。在将方法应用于该元素之前,您必须将按钮添加到DOB(例如,通过使用append(),就像您已经在做的那样)。

编辑:显然不是!见下面的评论。