我想通过选择元素并将整个对象转换为字符串来操作HTML,这样我就可以在tinyMCE中setContent()
。
问题是如果没有父元素,那么在转换tostring时,只有第一个元素被转换而其余元素被剥离。一个简单的例子,
var elem = jQuery('<p class="first"></p><p class="second"></p>');
elem.prop('outerHTML');
将输出显示为
"<p class="first"></p>"
并剥去其余的元素。如何在不丢失元素的情况下将jQuery对象转换为字符串?
答案 0 :(得分:2)
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;
答案 1 :(得分:1)
您可以映射它们,然后加入它们。
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;
答案 2 :(得分:1)
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;