jquery和xml。将节点获取为列表项
我正在尝试解析一些xml,大部分都很好。但是,我在将节点放入和创建列表项时遇到问题。到目前为止,我的代码类似于jquery和xml。将节点获取为列表项,jquery,xml,parsing,html-lists,Jquery,Xml,Parsing,Html Lists,我正在尝试解析一些xml,大部分都很好。但是,我在将节点放入和创建列表项时遇到问题。到目前为止,我的代码类似于 $(xml).find('section1').each(function (i) { var myLink = $(xml).find('link').text(); $('#set1').find('ul').eq(i).append("<li>"+myLink+"</li>"); }); $(xml).find('section1')。每个(
$(xml).find('section1').each(function (i) {
var myLink = $(xml).find('link').text();
$('#set1').find('ul').eq(i).append("<li>"+myLink+"</li>");
});
$(xml).find('section1')。每个(函数(i){
var myLink=$(xml).find('link').text();
$(“#set1”).find('ul').eq(i).追加(“”+myLink+” ”);
});
但实际情况是,它将所有“MyLink”节点放在一个
中。对于为每个myLink
节点装入
有什么想法吗
谢谢也许您需要在循环中将
$(xml)
更改为$(this)
然后修复追加代码(您只有一个列表,对吗?如果是,请删除.eq
内容),如下所示:
var $list = $('#set1').find('ul');
$(xml).find('section1').each(function () {
var myLink = $(this).find('link').text();
$list.append("<li>"+myLink+"</li>");
});
var$list=$('#set1')。查找('ul');
$(xml).find('section1')。each(函数(){
var myLink=$(this.find('link').text();
$list.append(“”+myLink+“ ”);
});
如果可行,您可以将其简化为:
var $list = $('#set1').find('ul');
$(xml).find('section1 link').each(function () {
var myLink = $(this).text();
$list.append("<li>"+myLink+"</li>");
});
var$list=$('#set1')。查找('ul');
$(xml).find('section1 link')。每个(函数(){
var myLink=$(this.text();
$list.append(“”+myLink+“ ”);
});
也许进一步使用
$.map
也许您需要在循环内部将$(xml)
更改为$(this)
然后修复追加代码(您只有一个列表,对吗?如果是,请删除.eq
内容),如下所示:
var $list = $('#set1').find('ul');
$(xml).find('section1').each(function () {
var myLink = $(this).find('link').text();
$list.append("<li>"+myLink+"</li>");
});
var$list=$('#set1')。查找('ul');
$(xml).find('section1')。each(函数(){
var myLink=$(this.find('link').text();
$list.append(“”+myLink+“ ”);
});
如果可行,您可以将其简化为:
var $list = $('#set1').find('ul');
$(xml).find('section1 link').each(function () {
var myLink = $(this).text();
$list.append("<li>"+myLink+"</li>");
});
var$list=$('#set1')。查找('ul');
$(xml).find('section1 link')。每个(函数(){
var myLink=$(this.text();
$list.append(“”+myLink+“ ”);
});
也许还可以进一步使用
$.map
,以防这个错误发生。第二行应该是$('set1')。find('ul')。eq(i)。append(“edit
来编辑您的问题,以防未通过正确的选项。第二行应该是$('set1')。find('ul')。eq(i)。append(“edit
来编辑您的问题谢谢您的回复。实际上,我正在尝试为每个节点创建一个新的列表项。ex my xml是我的标题1路径标题1标题2,因此这两个链接将各自成为自己的列表项。然而,它们都被放在一个单一的列表中。这与我的操作方式有关,但不确定如何更改它才能工作。您的代码,$('#set1')。find('ul')。eq(I)
,意味着您有许多单独的列表(ul)。如果你只有一个,你不应该在这里使用.eq(i)
。谢谢你的回复。实际上,我正在尝试为每个节点创建一个新的列表项。ex my xml是我的标题1路径标题1标题2,因此这两个链接将各自成为自己的列表项。然而,它们都被放在一个单一的列表中。这与我的操作方式有关,但不确定如何更改它才能工作。您的代码,$('#set1')。find('ul')。eq(I)
,意味着您有许多单独的列表(ul)。如果只有一个,则不应在此处使用.eq(i)
。