假设我有一个这样的数组:
var content = [ $('<p>...</p>'), $('<p>...</p>') ];
我需要获取连接元素的标记。所以我需要将content
“转换为原始字符串:<p>...</p><p>...</p>
”。
这怎么能很容易做到呢?似乎框架中应该已经有一些东西可以做到这一点。
不知何故可能会转换content
为文档片段并调用.html()
文档片段来获取标记?
假设我有一个这样的数组:
var content = [ $('<p>...</p>'), $('<p>...</p>') ];
我需要获取连接元素的标记。所以我需要将content
“转换为原始字符串:<p>...</p><p>...</p>
”。
这怎么能很容易做到呢?似乎框架中应该已经有一些东西可以做到这一点。
不知何故可能会转换content
为文档片段并调用.html()
文档片段来获取标记?
没有什么是自动的,但你可以轻松地做你刚才描述的事情。
试试看:http: //jsfiddle.net/Y5x5z/
var content = [ $('<p>...</p>'), $('<p>...</p>') ];
var container = $('<div/>');
$.each(content, function(i,val) {
container.append(val);
});
alert(container.html());
这比其他答案短,工作正常,并且不使用显式循环:
[$("<p>"), $("<p>")].map(function(el){return el.get()[0].outerHTML;})
正如 Crazy Train 在评论中指出的那样,这可以被美化如下:
var content = [ $('<p>...</p>'), $('<p>...</p>') ];
$.fn.toString = function() {
return this[0].outerHTML
};
alert(content.join("")); // <p>...</p><p>...</p>
这是一个旧帖子,有人可能会像我一样偶然发现它......正确的方法是.join()(标准 JavaScript 不是 jQuery)
var content = [ $('<p>...</p>').html(), $('<p>...</p>').html() ];
var concatenatedHTML = content.join('');
//concatenatedHTML would then be '<p>...</p><p>...</p>'