如何使用 jQuery 找到根 div?

发布于 2024-10-20 22:52:45 字数 1047 浏览 0 评论 0原文

我使用 jQuery 函数 find() 来提取 html 文件的 div。我以这种方式使用它

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?

[添加]

模板读取功能 - 已包含 Sjoerd 提到的以下更改:

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

I use the jQuery function find() to extract a div of a html file. I use it in that way

data.find('#tpl_header')

Problem is jquery find() find only non root elements.
So this wont work:

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

But this way works:

[...]
<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>

Is there a way to find this template div without adding a additional not really needed div?

[ADD]

The template reading function - already with the changes mention below by Sjoerd:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

别靠近我心 2024-10-27 22:52:45
var templateElement = $('#tpl_header')

element.find() 仅查找该元素的后代,而 $() 查找整个页面上的元素。

var templateElement = $('#tpl_header')

element.find() only finds descendants of that element, whereas $() finds elements on the whole page.

最美的太阳 2024-10-27 22:52:45

另一个线程给了我一个可行的解决方案。我必须使用 .filter() 函数来获取根 div。

来源:如何获取根元素的属性?

Another thread gives me a working solution. I have to use the .filter() function to get the root div.

Source: how can get attributes of root element?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文