Как я могу найти корневой div с помощью jQuery? - PullRequest
1 голос
/ 08 марта 2011

Я использую функцию jQuery find () для извлечения div файла html.Я использую его таким образом

data.find('#tpl_header')

Проблема в том, что jquery find () находит только некорневые элементы.Так что это не сработает:

[...]
<body>
   <div id="tpl_header" class="table header">
      <div class="tr">
      </div>
   </div>
</body>
</html>

Но этот способ работает:

[...]
<body>
   <div id="template"> <!-- because jQuery find function did not find root elements! -->

       <div id="tpl_header" class="table header">
          <div class="tr">
          </div>
       </div>
   </div>
</body>
</html>

Есть ли способ найти этот шаблонный div без добавления дополнительного не очень необходимого div?

[ADD]

Функция чтения шаблонов - уже с упомянутыми Sjoerd изменениями:

function LoadTemplate()
        {
            $.get('templates/' + template + '/main.html',  
                function(data) {
                    data = $(data);
                    $('#header').html($('#tpl_header', data));
            });
        }

Ответы [ 2 ]

5 голосов
/ 08 марта 2011
var templateElement = $('#tpl_header')

element.find() находит только потомков этого элемента, тогда как $() находит элементы на всей странице.

0 голосов
/ 15 марта 2011

Другой поток дает мне рабочее решение.Я должен использовать функцию .filter (), чтобы получить корневой div.

Источник: как получить атрибуты корневого элемента?

...