2017-07-21 37 views
0

我想通過選擇元素來操縱HTML並將整個對象轉換爲字符串,因此我可以在tinyMCE中使用setContent()將'沒有父項的多個元素'的jQuery對象轉換爲字符串

問題是如果沒有父元素,那麼當轉換tostring只有第一個元素被轉換,而其餘元素被剝離。一個簡單的例子,

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

將顯示輸出作爲

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

和剝離元件的其餘部分。如何將jQuery對象轉換爲字符串而不會丟失元素?

回答

1

您可以映射它們,然後加入它們。

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

+0

完美的作品,謝謝。 –

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);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

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)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>