我尝试使用的当前方法给出了[object HTMLHeadingElement]错误,现在我完全难倒了。我想将html标签添加到我从xml文件
收到的元素中这是我到目前为止的代码
$.ajax({
url:'xml/feed.xml',
dataType: 'xml',
success: function(data) {
$(data).find('channel item').each(function() {
var title = $(this).find('title').html();
var link = $(this).find('link').text();
var description = $(this).find('description').text();
var pubdate = $(this).find('pubdate').text();
var guid = $(this).find('guid').text();
var h1Title = document.createElement('h4');
var linktext = document.createTextNode(title);
h1Title.appendChild(linktext);
$('.timeline ul').append(
$('<li />', {
text: h1Title
}).addClass('myBox')
);
});
},
error: function() {
$('.timeline').text('Failed to get the feed');
}
});
答案 0 :(得分:2)
您正在创建DOM元素,然后将其设置为文本,有效地将DOM节点转换为字符串,H*
元素的字符串表示形式为[object HTMLHeadingElement]
var h1Title = document.createElement('h4');
$('<li />', {
text: h1Title // you can't set a DOM node as text
})
你可能想做更像
的事情var h1Title = $('<h4>', {text : title});
$('.timeline ul').append(
$('<li />').append(h1Title)
}).addClass('myBox')