获取分离的 JQuery 对象的外部 HTML [重复]

Posted

技术标签:

【中文标题】获取分离的 JQuery 对象的外部 HTML [重复]【英文标题】:Get the outer HTML of a detached JQuery object [duplicate] 【发布时间】:2017-04-23 18:39:18 【问题描述】:

我正在通过jQuery 创建一个html 节点(示例是标签<input>,但可以是任何类型):

var x = $("<input>");

然后我通过一系列.prop()函数添加它的属性:

x.prop("id", ...).prop("class", ...);

现在某个插件不支持 JQuery 对象,而是 HTML 字符串,所以我通过这个来调用插件:

var n = plugin.method1(x.html())

我虽然会工作,但 .html() 返回一个空字符串。虽然有些人说如果我先将它附加到 DOM 树上就会解决。如何在不先将其附加到 DOM 树中的情况下获取其 HTML 字符串?

【问题讨论】:

分离没关系。 html() 返回空字符串,因为它没有内容。 html() 是内部 html,而不是外部 html。 【参考方案1】:

您可以使用.prop() 获取outerHTML 属性。

x.prop('outerHTML');

var x = $("<input>");
x.prop('id', 'yahooooooooo');
console.log(x.prop('outerHTML'))
&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

【讨论】:

【参考方案2】:

索引它后面的 HTMLElement 并像这样访问 outerHTML 属性更简单:

x[0].outerHTML

【讨论】:

以上是关于获取分离的 JQuery 对象的外部 HTML [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery 或 ajax 获取外部 html 页面内容 [重复]

jQuery - 如何使用元素的 HTML 获取所有样式/css(在内部/外部文档中定义)

jquery常用的jquery获取表单对象的属性与值

怎样用jquery调用外部html

使用 jquery 将 json 数组对象显示为 html

面试相关知识点