Найдите вложенные элементы DOM с помощью jQuery

Мне нужно найти определенные элементы в моей модели DOM с помощью JQuery.

Дело такое:

var dialog = $(DOM.loadHTML("amc-refine", "scripts/dialogs/amc-dialog.html"));
elmts = DOM.bind(dialog);

Итак, elmts - это переменная с элементами DOM. У меня есть таблица, к которой я могу получить доступ, используя

$(elmts.dialogTable)

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

$('#example thead tr').each( function () {
        this.insertBefore( nCloneTh, this.childNodes[0] );
    } );

но я не могу получить доступ к своей таблице с помощью # .. так что могу я сделать это:

$(elmts.dialogTable).find('thead').find('tr')

кроме того, что, если я хочу достичь также

$('#example tbody td img')

используя тот же $ (elmts.dialogTable)

Наилучшие пожелания


person AhmadAssaf    schedule 27.10.2011    source источник
comment
Вы можете искать внутри загруженного dom, например $("thead tr",elmts.dialogTable), но я не совсем уверен, что внутри вашего DOM ... Не могли бы вы вставить содержимое amc-dialog.html?   -  person Marco Johannesen    schedule 27.10.2011
comment
Я думаю, что ссылка ниже связана с вашим запросом: stackoverflow.com/questions/376081/   -  person smukh    schedule 27.10.2011


Ответы (2)


Вы по-прежнему сможете использовать find и передать ему весь селектор:

var img = $(elmts.dialogTable).find('tbody td img');

Вам не нужно вызывать find несколько раз, как в вашем примере. Ваш пример можно переписать, чтобы просто использовать find('thead tr').

В качестве альтернативы вы можете использовать elmts.dialogTable в качестве контекста, в котором можно выбрать:

var img = $("tbody td img", elmts.dialogTable);
person James Allardice    schedule 27.10.2011

Это должно быть возможно:

$('#example thead tr', elmts.dialogTable).each( function () {
        this.insertBefore( nCloneTh, this.childNodes[0] );
    } );

Второй параметр означает context.

person Bojan Bjelic    schedule 27.10.2011