如何使用 jQuery 找到根 div?
我使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
element.find()
仅查找该元素的后代,而$()
查找整个页面上的元素。element.find()
only finds descendants of that element, whereas$()
finds elements on the whole page.另一个线程给了我一个可行的解决方案。我必须使用 .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?