将 'multiple elements without parent' 的 jQuery 对象转换为字符串
Convert jQuery object of 'multiple elements without parent' to string
我想通过选择元素来操作 HTML 并将整个对象转换为字符串,这样我就可以 setContent()
在 tinyMCE 中。
问题是,如果没有父元素,则在转换为字符串时,仅转换第一个元素,同时剥离其余元素。一个简单的例子,
var elem = jQuery('<p class="first"></p><p class="second"></p>');
elem.prop('outerHTML');
将输出显示为
"<p class="first"></p>"
并剥离其余元素。如何在不丢失元素的情况下将 jQuery 对象转换为字符串?
你可以映射他们,然后加入他们。
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>
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>
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>
我想通过选择元素来操作 HTML 并将整个对象转换为字符串,这样我就可以 setContent()
在 tinyMCE 中。
问题是,如果没有父元素,则在转换为字符串时,仅转换第一个元素,同时剥离其余元素。一个简单的例子,
var elem = jQuery('<p class="first"></p><p class="second"></p>');
elem.prop('outerHTML');
将输出显示为
"<p class="first"></p>"
并剥离其余元素。如何在不丢失元素的情况下将 jQuery 对象转换为字符串?
你可以映射他们,然后加入他们。
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>
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>
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>