Javascript 在JQuery中将长字符串转换为html元素
我有一个字符串,其中包含一些字符串形式的html,如下所示:Javascript 在JQuery中将长字符串转换为html元素,javascript,jquery,Javascript,Jquery,我有一个字符串,其中包含一些字符串形式的html,如下所示: var string = '<html> ... some code here... </html>'; 如果我打印“temp”,则会显示此消息: jQuery.fn.jQuery.init[102] 要访问temp,我应该像数组一样执行操作 temp[12] /* return some html or text element that contain attribute, baseURI, etc
var string = '<html> ... some code here... </html>';
如果我打印“temp”,则会显示此消息:
- jQuery.fn.jQuery.init[102]
temp[12] /* return some html or text element that contain attribute, baseURI, etc. */
谢谢。JQuery对于转换为html元素的长字符串没有问题。问题在引号中
最后,我找到了一种方法,如果字符串长度大于28457个字符,可以通过jquery使用
$()
将字符串转换为HTML,jquery将字符串格式更改为数组,因此如果要将HTML元素属性用于搜索和DOM操作,则不容易控制,方法是首先将字符串转换为html元素,如下所示
$(String)
但在这种状态下,您无法访问.html()
,因此,请将此对象放在页面中的隐藏位置,如div或诸如此类,这里我使用了带有临时id的div
$('#temp').html($(String));
现在,您可以访问
.html()
或其他类似于Complete对象的内容。您实际上想做什么?不清楚问题出在哪里。var temp=$(string.substr(028458))应该根据string.substr(…)的计算结果尝试为您提供一个jquery元素to@kuroshparsi:什么是“DOM的标准模式”?也许你的.substr
正在将字符串转换成无效的HTML?@Kurosh-Nope:你可以将它们转义为“
变成\”
什么符合你的要求如果引号是问题,你怎么会没有语法错误<代码>变量字符串=“”代码>将是一个语法错误。因为在此之前我用AJAX加载了该内容。您确定这是您的问题吗?我已经通过AJAX加载了带有混合引号的HTML,没有任何问题jQuery.fn.jQuery.init[171]
是包含171个元素的jQuery对象。您之所以看到这一点,是因为Chrome不想在控制台中显示所有171个元素。这不是错误。然后执行那些“DOM操作”。那不行吗.html()
可能不会对所有元素都起作用,但其他方法可能会起作用。
$('#temp').html($(String));