javascript - 如何将 jQuery 对象数组转换为 HTML 字符串

标签 javascript jquery

在 jQuery Infinite Carousel 中,它使用 .clone() 来实现无限效果。这很好用,除非它克隆的代码有 HTML5 元素。 IE7 和 IE8 无法将特定于 HTML5 元素的 CSS 规则应用于克隆的或以其他方式在页面加载后插入的元素。

innerShiv JavaScript 插件以 IE7 和 IE8 可以使用适当的 CSS 呈现的方式插入元素。

问题是 innerShiv 将 HTML 字符串作为参数,但 jQuery .clone() 方法返回一个 jQuery 对象数组。

为了同时使用两者,我需要将 .clone() 的输出转换为 innerShiv 能够解析的 HTML 字符串。

关于如何做到这一点有什么想法吗?

最佳答案

HTML:

<p class="foo"><canvas class="bar"></canvas></p>

JavaScript:[ Ref ]

// grab the object, with HTML 5 element(s).
var p = $('p');

// clone it
var c = p.clone();

// grab the inner html (wrap it so we can get the HTML)
var html = $('<div>').append(c).html();

// alert us of the contents
alert(html);

演示:

http://jsfiddle.net/bradchristie/tDFYn/

关于javascript - 如何将 jQuery 对象数组转换为 HTML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5342493/

相关文章:

javascript - jqGrid gridComplete :- getRowData - get row cell value from array

javascript - 比较两个 JSON 文件时出现未定义问题

javascript - Controller 如何知道范围有效

javascript - 如何在收到消息时自动向下滚动到列表

javascript - 通过javascript同时更改css的最佳方法?

javascript - 使用 canvas 绘制从 div 到 div 的时间线

javascript - 用 Javascript 计算一个 Div 中有多少个 UL 元素?

javascript - 热模块重新加载有什么意义?

jquery - Highcharts:如何更改图表类型

javascript - JQuery - 通过列搜索,当文本更改时在之前添加新行