在查询中,我在响应变量上有一些xml数据。
数据如下所示:
<list type="cat">
<instance id="4" name="somename" />
<instance id="7" name="someo_there_name" />
</list>
我还准备了UL,我需要一个id和名称附加到ul
的列表<ul id="thelist"></ul>
我该怎么做?
答案 0 :(得分:1)
要实现此目的,您可以使用map()
遍历instance
个节点,然后将包含li
元素的HTML添加到结果数组中,然后将其全部附加到ul
1}}。试试这个:
var xml = '<list type="cat"><instance id="4" name="somename" /><instance id="7" name="someo_there_name" /></list>';
var html = $(xml).find('instance').map(function(){
return `<li id=${$(this).attr('id')}">${$(this).attr('name')}</li>`;
}).get();
$('#thelist').append(html);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="thelist"></ul>
答案 1 :(得分:0)
您可以从该XML数据创建一个JQuery对象,然后循环到每个instance
元素以创建一个包含<li>
的列表,然后将其作为HTML添加到<ul>
{ {1}}。
id="thelist"
var xmlData = `<list type="cat">
<instance id="4" name="somename" />
<instance id="7" name="someo_there_name" />
</list>`;
var $xmlData = $(xmlData);
var nHTML = '';
$xmlData.find('instance').each(function(){
nHTML+='<li id="'+$(this).attr('id')+'">'+$(this).attr('name')+'</li>';
});
$('#thelist').html(nHTML);
要进一步验证,您可以在<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="thelist"></ul>
元素上使用浏览器的检查元素,并查看每个<li>
id
值