将元素添加到无序列表

时间:2013-08-28 18:18:47

标签: jquery html

我正在尝试使用jquery将li添加到ul中,并且无法使其工作。我使用以下代码。

我已经阅读了一个XML文件,其格式如下,例如

<Products>
    <Description>Pound</Description>
    <ProductType>CUR</ProductType>
    <CurrencyCode>GBP</CurrencyCode>
    <Rate>1</Rate></ProductRate>
    <Description>Euro</Description>
    <ProductType>CUR</ProductType>
    <CurrencyCode>Eur</CurrencyCode>
    <Rate>1.5</Rate></ProductRate>
</Products>

我正在尝试使用jquery来创建产品列表,但它会将它们添加为1 li元素而不是多个li,其中list是实际列表,

我正在使用以下jquery

var $xml = $(xml);
var $list = $('#list');
$description = $xml.find("Description");
$( "#list" ).append($description.text());`

这会读取元素,但会将它们添加为单个li元素

<ul>
  <li>
    Pound GBP Euro Eur
  </li>
</ul> 

我也试过

$( "#list" ).append("<li>"+$description.text()+"</li>"); 

但这仍然提供相同的HTML。所以我的问题是如何确保它们被显示为单独的li元素?

2 个答案:

答案 0 :(得分:3)

尝试

$description.each(function() {
    $("#list").append("<li>" + $(this).text() + "</li>");
});

DEMO

答案 1 :(得分:2)

尝试遍历每个正在阅读的元素:

$xml.find("Description").each(function(){
     $( "#list" ).append("<li>"+$(this).text()+"</li>");
});