jQuery.html(),.append()不';无法处理多行标记
我一直在尝试使用.html()或.append()函数来呈现通过ajax调用从第三方插件返回的标记 ajax响应(恢复良好)类似于:jQuery.html(),.append()不';无法处理多行标记,jquery,html,Jquery,Html,我一直在尝试使用.html()或.append()函数来呈现通过ajax调用从第三方插件返回的标记 ajax响应(恢复良好)类似于: <div> <!-- Start Third Party Markup --> <div> <img id="Img1" usemap="#dnc_map_43" src="charts/solution_id_6/dnc-vvvgdww
<div>
<!-- Start Third Party Markup -->
<div>
<img id="Img1" usemap="#dnc_map_43" src="charts/solution_id_6/dnc-vvvgdwwl.png?634336319915542170" style="height:294px;width:628px;border-width:0px;" />
<map name="dnc_map_43" id="Map1">
<area shape="poly" coords="0,274,628,274,628,294,0,294" href="http://www.dotnetcharting.com" alt="Visit .netCHARTING for licensing options and more information." title="Visit .netCHARTING for licensing options and more information." />
<area shape="poly" coords="381,26,616,26,616,56,381,56" href="http://www.dotnetcharting.com" alt="Visit .netCHARTING for licensing options and more information." title="Visit .netCHARTING for licensing options and more information." />
</map>
</div>
<!-- End Third Party Markup -->
</div>
但是,我们无法控制来自第三方的标记的格式,我发现(在整个上午都在胡思乱想之后,.html()或.append()jQuery函数要求标记在一行中,或者在每一个新行字符后使用“\”转义
有人知道解决这个问题的方法吗?如果这是真的(尽管我很难想象),你可以使用
replace
方法将\n
和\r
替换为空字符串空格。如果这是真的(尽管我很难想象它是真的),您可以使用replace
方法将\n
和\r
替换为空格中的空字符串。解决问题了吗?如果没有,请纠正我。你的问题解决了吗?如果没有,请更正。我已经用jquery 1.5运行了以下测试,它对我来说运行良好
<div id="one">
<P>foo</p>
<p>bar</p>
</div>
<div id="two"></div>
$('#two').html( $('#one').html() );
福
酒吧
$('.'两').html($('.'一').html());
第二个div正确地填充了第一个div中的多行标记。我已经用jquery 1.5运行了以下测试,它对我来说运行良好
<div id="one">
<P>foo</p>
<p>bar</p>
</div>
<div id="two"></div>
$('#two').html( $('#one').html() );
福
酒吧
$('.'两').html($('.'一').html());
第二个div正确地填充了第一个div的多行标记。请将代码添加到答案中;你不应该强迫我们去别的地方看看你的实际解决方案。顺便说一句,你的字符串没有包含任何换行符…你所展示的是跨多行串接的字符串。最后一个字符串中没有换行符。OP询问当字符串包含换行符时如何将html附加到DOM。OP还提到他不控制HTML,因此分配也不是问题。+1 JSFiddle.net是展示原型解决方案的一个很好的工具,我相信这是一个广泛使用和接受的答案,就我个人而言,我宁愿看到工作原型,这是一个点击距离,而不是必须建立它自己复制代码请添加您的代码到您的答案;你不应该强迫我们去别的地方看看你的实际解决方案。顺便说一句,你的字符串没有包含任何换行符…你所展示的是跨多行串接的字符串。最后一个字符串中没有换行符。OP询问当字符串包含换行符时如何将html附加到DOM。OP还提到他不控制HTML,因此分配也不是问题。+1 JSFiddle.net是展示原型解决方案的一个很好的工具,我相信这是一个广泛使用和接受的答案,就我个人而言,我宁愿看到一个只需点击一下就可以工作的原型,也不愿意自己通过复制代码来构建它。如果您包含了您试图使用的jQuery代码,那么回答您的问题就更容易了。实际上,我试图解析ajax响应的错误部分。因此问题就来了。.html()函数工作得很好。如果包含您试图使用的jQuery代码,那么回答您的问题会更容易。实际上,我试图解析ajax响应的错误部分。因此问题就来了。.html()函数工作正常。+1尽管我将替换为空格,因为换行符自然显示为空格。+1尽管我将替换为空格,因为换行符自然显示为空格。
foo\nbar
。