如何将jQuery对象转换为字符串?
当前回答
在jQuery 1.6中,这似乎是一个更优雅的解决方案:
$('#element-of-interest').prop('outerHTML');
其他回答
你能说得更具体一点吗?如果你想让HTML在一个标签里面,你可以这样做:
HTML代码片段:
<p><b>This is some text</b></p>
jQuery:
var txt = $('p').html(); // Value of text is <b>This is some text</b>
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
可以使用jQuery.makeArray(obj)实用函数:
var obj = $('<p />',{'class':'className'}).html('peekaboo');
var objArr = $.makeArray(obj);
var plainText = objArr[0];
我假设您要的是完整的HTML字符串。如果是这样的话,像这样的东西就可以达到目的:
$('<div>').append($('#item-of-interest').clone()).html();
这里将对此进行更深入的解释,但本质上,您将创建一个新节点来包装感兴趣的项,执行操作,删除它,并获取HTML。
如果你只是想要一个字符串表示,那么使用new string (obj)。
更新
我在2009年写了最初的答案。截至2014年,大多数主流浏览器现在都支持outerHTML作为原生属性(例如,Firefox和Internet Explorer),因此您可以:
$('#item-of-interest').prop('outerHTML');
new String(myobj)
如果您想将整个对象序列化为字符串,请使用JSON。
推荐文章
- 如何使用jQuery检测页面的滚动位置
- 如何在JSON中使用杰克逊更改字段名
- 在JavaScript中根据键值查找和删除数组中的对象
- 防止在ASP中缓存。NET MVC中使用属性的特定操作
- jQuery: keyPress退格键不火?
- XMLHttpRequest Origin null不允许Access-Control-Allow-Origin for file:/// to file:///(无服务器)
- 重置setTimeout
- jQuery有不聚焦的方法吗?
- jQuery -替换字符串中某个字符的所有实例
- Ng-repeat结束事件
- 模糊vs聚焦-有什么真正的区别吗?
- 如何用jQuery / JavaScript解析JSON数据?
- jQuery在请求体中发布有效的json
- jQuery中的live()转换为on()
- jQuery等价于JavaScript的addEventListener方法