将'不带父项的多个元素'的jQuery对象转换为字符串

时间:2017-07-21 17:07:12

标签: jquery string tinymce

我想通过选择元素并将整个对象转换为字符串来操作HTML,这样我就可以在tinyMCE中setContent()

问题是如果没有父元素,那么在转换tostring时,只有第一个元素被转换而其余元素被剥离。一个简单的例子,

var elem = jQuery('<p class="first"></p><p class="second"></p>');
elem.prop('outerHTML'); 

将输出显示为

"<p class="first"></p>"

并剥去其余的元素。如何在不丢失元素的情况下将jQuery对象转换为字符串?

3 个答案:

答案 0 :(得分:2)

&#13;
&#13;
var elem = jQuery('<p class="first"></p><p class="second"></p>');
var str=""
elem.each(function(index,item){
str+=item.outerHTML
})
console.log(str)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以映射它们,然后加入它们。

&#13;
&#13;
var test = $('<p class="first"></p><p class="second"></p>').map(function(){ return this.outerHTML; }).get().join('');
console.log(test);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

&#13;
&#13;
var elem = jQuery('<p class="first"></p><p class="second"></p>');
var strHtml='';
$.each(elem,function(index,value){
   strHtml+=value.outerHTML;
   console.log(value);
});
console.log(strHtml);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;