将jQuery对象和内容转换为字符串?
我抓住各种jquery对象放入一个数组,然后以HTML格式吐出。
我正在尝试将jQuery对象转换为文本字符串,以便稍后可以将其作为HTML吐出。
我现在正在使用这种技术:
console.log($myObject.clone().wrap('').html());
但是,这似乎只是抓住了我的对象的内容。
例如,如果$ myObject是
My Title
则上面只返回“我的标题”(没有H2标签)。
我也尝试使用.text()但得到相同的结果。
有没有办法将整个jQuery对象转换为文本字符串?
那么,回答我自己的问题。
console.log($('').append($myObject.clone()).remove().html());
在这篇post中感谢John Feminella:
如何将jQuery对象转换为字符串?
谁引用这篇文章:
http://jquery-howto.blogspot.com/2009/02/how-to-get-full-html-string-including.html
您正在寻找的不是将JQuery对象转换为字符串而是将DOM节点转换为HTML表示。
JQuery中没有内置方法来执行此操作,Javascript中也没有任何相似之处。
这有点繁琐,但你可以重建它。 下面的代码不完整也没有经过测试,但这是一个想法
var h = ''; $('#my_selector').each(function(){ h += '<' + this.NodeName; for(var k in this.attributes){ h += ' ' + this.attributes[k].nodeName + '="' + this.attributes[k].value + '" '; } h += '>'; h += this.innerHTML; h += '' + this.NodeName + '>'; });
从你的例子中,你不需要使用调用$ myObject.html()吗?
但是,因为我猜你所追求的可能不仅仅是那样,只是将对象转换为JSON就能完成这项工作吗?
有几个jQuery插件可以做到这一点。 我用过的那个对我来说一直很好的,似乎不再有了,但你可以在这里得到它
http://jollytoad.googlepages.com/json.js
搜索jQuery插件库可以将这两个作为替代方案
http://plugins.jquery.com/project/JSONEncoder
http://plugins.jquery.com/project/LABSJSON
我从来没有尝试过他们中的任何一个,所以不能保证他们的效率
console.log($('').append($myObject.clone()).html());