用jQuery包装元素

时间:2013-08-28 23:57:41

标签: javascript jquery html

我正在使用AJAX和jQuery来获取一些html内容,这里是成功函数:

function successFn(data) {

    var keyWord = $("#input").val();

    // convert string html to object
    var anchors = $('<div/>').html(data).contents();

    // add data-keyword to all results
    anchors.each( function (i) {
        $(this).attr('data-keyword', keyWord);
        $(this).wrap('<div class="xXx"></div>');
    });

    // print results
    $("#results").html(anchors);
}

data包含一个锚点列表:

<a href="link">...children...</a>
<a href="link">...children...</a>
<a href="link">...children...</a>
<a href="link">...children...</a>

所以我正在尝试为这些链接添加一个属性,这是有效的然后我用div来包装每个锚,这不起作用。

为什么不包装?

1 个答案:

答案 0 :(得分:2)

问题是你只是添加了锚元素,你不包括你包装的内容。

function successFn(data) {

    var keyWord = $("#input").val();

    // convert string html to object
    var wrapper = $('<div/>').html(data);
    var anchors = wrapper.contents();

    // add data-keyword to all results
    anchors.each( function (i) {
        $(this).attr('data-keyword', keyWord);
        $(this).wrap('<div class="xXx"></div>');
    });

    // print results
    $("#results").empty().append(wrapper.contents());
}