如何将 jQuery 对象转换为字符串?
如何将 jQuery 对象转换为字符串?
How do you convert a jQuery object into a string?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何将 jQuery 对象转换为字符串?
How do you convert a jQuery object into a string?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(12)
我假设您需要完整的 HTML 字符串。 如果是这样的话,类似这样的事情就可以解决问题:
这有更深入的解释 此处,但本质上您创建一个新节点来包装感兴趣的项目,进行操作,将其删除,并获取 HTML。
如果您只是想要字符串表示形式,请使用
new String(obj)
。更新
我在 2009 年写了原始答案。截至 2014 年,大多数主要浏览器现在都支持
outerHTML
作为本机属性(例如,请参阅 Firefox 和 Internet Explorer),因此您可以执行以下操作:I assume you're asking for the full HTML string. If that's the case, something like this will do the trick:
This is explained in more depth here, but essentially you make a new node to wrap the item of interest, do the manipulations, remove it, and grab the HTML.
If you're just after a string representation, then go with
new String(obj)
.Update
I wrote the original answer in 2009. As of 2014, most major browsers now support
outerHTML
as a native property (see, for example, Firefox and Internet Explorer), so you can do:对于 jQuery 1.6,这似乎是一个更优雅的解决方案:
With jQuery 1.6, this seems to be a more elegant solution:
只需使用 .get(0) 获取本机元素,并获取其outerHTML属性:
Just use .get(0) to grab the native element, and get its outerHTML property:
你能说得更具体一点吗? 如果您尝试在标签内获取 HTML ,您可以执行以下操作:
HTML片段:
jQuery:
Can you be a little more specific? If you're trying to get the HTML inside of a tag you can do something like this:
HTML snippet:
jQuery:
找出 HTML 节点(对象)可用的属性和方法的最佳方法是执行以下操作:
从 jQuery 1.6+ 开始,您可以使用 externalHTML 在字符串输出中包含 HTML 标签:
The best way to find out what properties and methods are available to an HTML node (object) is to do something like:
From jQuery 1.6+ you can just use outerHTML to include the HTML tags in your string output:
jQuery 在这里,所以:
返回所有 HTML 内容:
jQuery is up in here, so:
Return all that HTML stuff:
这似乎对我来说效果很好:
This seems to work fine for me:
接受的答案不涵盖文本节点(打印出未定义)。
这个代码片段解决了这个问题:
The accepted answer doesn't cover text nodes (undefined is printed out).
This code snippet solves it:
无需克隆并添加到 DOM 即可使用 .html(),您可以执行以下操作:
No need to clone and add to the DOM to use .html(), you can do:
可以使用 jQuery.makeArray(obj) 实用函数:
It may be possible to use the
jQuery.makeArray(obj)
utility function:如果您想对 HTML 元素进行字符串化以便将其传递到某处并将其解析回元素,请尝试为该元素创建唯一的查询
:
If you want to stringify an HTML element in order to pass it somewhere and parse it back to an element try by creating a unique query for the element:
than
如果要将整个对象序列化为字符串,请使用 JSON。
If you want to serialize the whole object to string, use JSON.