我正在从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>');
});
答案 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>