将标记添加到从XML接收的元素

时间:2015-01-26 15:37:27

标签: jquery xml

我尝试使用的当前方法给出了[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');
}

});

1 个答案:

答案 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')