Применить кнопку () к элементу внутри переменной - PullRequest
2 голосов
/ 14 мая 2010

Если есть переменная data = '<div>... <button id="remember"> ... </button> ...</div>', возможно ли применить метод .button(); к кнопке внутри этой переменной?

Я пробовал следующее:

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

но это не работает. После этого я просто делаю $(data).dialog();, который работает.

Я пришел с обходным путем, и это append переменная data для документа, вызов .button(), а затем вызов .dialog(), но добавление и удаление диалогового окна divs в документе не не кажется правильным.

Ответы [ 2 ]

1 голос
/ 14 мая 2010

Нет, внутри этой переменной нет «кнопки», только строка символов. Вам нужно добавить кнопку в DOB (например, с помощью append (), как вы уже делаете), прежде чем вы сможете применить метод к этому элементу.

Редактировать: Очевидно нет! См. Комментарий ниже.

1 голос
/ 14 мая 2010

Вы можете сделать это, используя .find(selector) и .end(), как это

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

Вы можете увидеть быстрое демо здесь

Для описания того, как это работает:

  1. $(data) - Создает фрагмент документа из вашей строки
  2. .find("#remember") - Находит <button> внутри
  3. .button() - Создает эффект кнопки jQuery UI для этого элемента
  4. .end() - возвращает предыдущий селектор, эффективно $(data)
  5. .dialog() - Создает диалог для всего элемента данных, поскольку именно здесь .end() помещает цепочку.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...