如何在div后面附加新的div并将var放入该新的div中

时间:2018-08-06 13:02:49

标签: javascript jquery html xml

我正在从XML获取数据并显示它,但是如果在另一个div内附加另一个带有var的div,则会得到[object Object]而不是XML数据。我该如何在div后面附加一个新的div加上var,这就是我想做的

$('#channels').append('<div id="logo">'+$(this).find("display-name")+'</div>');

下面是即时通讯所使用的完整代码

<div class="channels" id="channels"></div>

var xml = "<tv generator-info-name='tvchannels' source-info-name='tvchannels'><channel id='1234'><display-name>Channel 1</display-name></channel><channel id='5678'><display-name>Channel 2</display-name></channel><channel id='543553'><display-name>Channel 3</display-name></channel><channel id='324324'><display-name>Channel 4</display-name></channel></tv>",

xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc );

$xml.find('channel').each(function (i,e) {

  $('#channels').append('<div id="logo">'+$(this).find("display-name")+'</div>');

});

1 个答案:

答案 0 :(得分:2)

$(...).find()产生一个jQuery对象,该对象序列化为[object Object]。您想获取文本;为此,请在对象上使用text()方法:

var xml = "<tv generator-info-name='tvchannels' source-info-name='tvchannels'><channel id='1234'><display-name>Channel 1</display-name></channel><channel id='5678'><display-name>Channel 2</display-name></channel><channel id='543553'><display-name>Channel 3</display-name></channel><channel id='324324'><display-name>Channel 4</display-name></channel></tv>",
  xmlDoc = $.parseXML(xml),
  $xml = $(xmlDoc);

$xml.find('channel').each(function(i, e) {
  $('#channels').append('<div id="logo">' + $(this).find("display-name").text() + '</div>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="channels" id="channels"></div>