我正在尝试使用JQuery.load
函数加载一些XML,并且该位正常。我正在加载XML并将其放入DOM中,这就是我想要的。但是,我需要遍历顶级子元素并将某些节点附加到不同的Container。当您看到以下代码时,一切都会变得清晰:
这是我的JS和存储元素:
<div id="ProjectLoad" style="display:none"></div>
<script type="text/javascript">
$('#ProjectLoad').load('projects.xml');
$('project').each(function(){
debugger;
var name = $(this).children('name').first().text();
var desc = $(this).children('desc').first().text();
var created = $(this).children('created').first().text();
var uri = $(this).children('url').first().created();
$('#trapezoidContainer').append('<div id="' + name + '" class="trapezoid-container"></div>');
$('#' + name).append('<div id="sub-' + name + '" class="trapezoid"></div>');
$('#sub-' + name).append('<a href="' + uri + '">' + name + '</a>');
$(this).hover(function(){
$('#title').text(name);
$('#description').text(desc);
})
})
</script>
这是我的projects.xml:
<projects>
<project>
<name>Test</name>
<desc>Simple test project</desc>
<created>17/11/1998</created>
<url>http;//www.gitlab.com/roconnor/test</url>
</project>
</projects>
我在.each()
中有一个调试器语句,但它没有被命中,这使我.load()
正在执行之后 {{1}由于延迟......
答案 0 :(得分:0)
您必须在加载中使用完整选项 -
$('#ProjectLoad').load('projects.xml', function() {
//just after the end of loading
$('project').each(function(){
debugger;
//and so on
});