JQuery`wrap`无法使用append

时间:2014-10-09 21:59:36

标签: javascript jquery

我有一个函数,假设返回包含在span标签中的多个HTML元素。返回的元素不会包含在标记中。

这是我的代码:

function summerizeEdit(edit) {
    var editHtmlBody = '<div>' + edit.content + '</div>';
    var $editElements = $(editHtmlBody).find(EDIT_SELECTORS_TO_SUMMERIZE.join(', '));
    var $editSummery = $('<div />').append($editElements.wrap('<span class="test"/>'));
    return $editSummery.html();
}

1 个答案:

答案 0 :(得分:6)

jQuery .wrap方法包装所选元素,然后返回所选元素。因此,如果您希望附加包装器而不是所选元素,则需要选择包装器。

$('<div>').append(el.wrap('<span>').parent());

&#13;
&#13;
$("#target").append($("<div>").wrap("<div class='test'></div>").text("Hello World!").parent());
&#13;
.test {
  color: green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="target"></div>
&#13;
&#13;
&#13;