如何将jQuery对象转换为字符串?
当前回答
不需要克隆和添加到DOM使用.html(),你可以做:
$('#item-of-interest').wrap('<div></div>').html()
其他回答
找出HTML节点(对象)可用的属性和方法的最好方法是这样做:
console.log($("#my-node"));
从jQuery 1.6+你可以使用outerHTML包括HTML标签在你的字符串输出:
var node = $("#my-node").outerHTML;
jQuery在这里,所以:
jQuery.fn.goodOLauterHTML= function() {
return $('<a></a>').append( this.clone() ).html();
}
返回所有HTML内容:
$('div' /*elys with HTML text stuff that you want */ ).goodOLauterHTML(); // alerts tags and all
我假设您要的是完整的HTML字符串。如果是这样的话,像这样的东西就可以达到目的:
$('<div>').append($('#item-of-interest').clone()).html();
这里将对此进行更深入的解释,但本质上,您将创建一个新节点来包装感兴趣的项,执行操作,删除它,并获取HTML。
如果你只是想要一个字符串表示,那么使用new string (obj)。
更新
我在2009年写了最初的答案。截至2014年,大多数主流浏览器现在都支持outerHTML作为原生属性(例如,Firefox和Internet Explorer),因此您可以:
$('#item-of-interest').prop('outerHTML');
可以使用jQuery.makeArray(obj)实用函数:
var obj = $('<p />',{'class':'className'}).html('peekaboo');
var objArr = $.makeArray(obj);
var plainText = objArr[0];
new String(myobj)
如果您想将整个对象序列化为字符串,请使用JSON。
推荐文章
- 在数组中获取所有选中的复选框
- JSHint和jQuery: '$'没有定义
- 用jQuery检查Internet连接是否存在?
- 如何使用滑动(或显示)函数在一个表行?
- 如何用JavaScript截屏一个div ?
- 如何检测“搜索”HTML5输入的清除?
- 当元素从DOM中移除时触发事件
- Ajax成功事件不工作
- 引导下拉与Hover
- jQuery的.bind() vs. on()
- jQuery .live() vs .on()方法,用于在加载动态html后添加单击事件
- 事件。returnValue已弃用。请使用标准的event.preventDefault()
- 如何处理模式关闭事件在Twitter引导?
- 防止浏览器加载拖放文件
- 清除输入文本内的图标