Выбор Jquery - элементы (отдельные, затемненные в firebug) - PullRequest
0 голосов
/ 12 марта 2012

Я пытаюсь выбрать некоторые элементы в части страницы

$table = $(".table");
console.log($table);//this is fine
$edit_butts = $(".btn_edit", $table);
console.log($edit_butts);//elements dimmed and seemingly detached from dom - no click binding etc work

Кто-нибудь сейчас узнает, почему эти элементы отсоединяются?

В консоли

bright and when clicked element found in dom
    jQuery(table.table)

dimmed, when clicked firebug goes to edit screen
    jQuery(div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit)

Любая помощь очень ценится.

Также я должен отметить, но я не уверен, что релевантная часть страницы обернута knockoutjs с директивой.

<table  class="table>
<!-- ko with: model.item -->
edit butts
<div class="btn_edit"></div>
<!-- /ko -->
</table>

1 Ответ

1 голос
/ 12 марта 2012

Привязка with удаляет дочерние элементы элемента, к которому она применяется, и сохраняет копию для использования в качестве шаблона. Если элемент, который with связан с изменением, то шаблон используется для генерации контента, и это происходит даже для первоначального рендеринга.

Связывание with фактически эквивалентно template: { if: myData, data: myData }, в котором используются анонимные шаблоны (дочерние элементы элемента).

Итак, элементы удаляются из DOM. Я не уверен в вашей цели, но если вы найдете элементы после вызова ko.applyBindings, то у вас будет ссылка на текущие элементы, используемые внутри привязки with.

...