Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery获取内部html而无需转义或解码任何内容_Jquery_Html - Fatal编程技术网

使用jQuery获取内部html而无需转义或解码任何内容

使用jQuery获取内部html而无需转义或解码任何内容,jquery,html,Jquery,Html,我正在开发某种在线html编辑器,但在使用jQuery获取textarea的内容时遇到了问题 Textarea元素如下所示: <textarea id="myText"><b>&lt;p&gt;TEST&lt;/p&gt;</b></textarea> pTEST/p 因此,它是转义和未转义文本的混合体。但是,浏览器显示如下文本区域,这也是我不想要的: <b><p>TEST</p&g

我正在开发某种在线html编辑器,但在使用jQuery获取textarea的内容时遇到了问题

Textarea元素如下所示:

<textarea id="myText"><b>&lt;p&gt;TEST&lt;/p&gt;</b></textarea>
pTEST/p
因此,它是转义和未转义文本的混合体。但是,浏览器显示如下文本区域,这也是我不想要的:

<b><p>TEST</p></b>
测试

我想获得文本区域的内部html。如果我尝试
.html()
,它将转义所有标记,如果我尝试
.val()
,它将解码转义的标记。您可以在以下位置看到该行为:

如何使用Javascript获取纯内容,以及如何让textarea按原样显示内容


谢谢

尝试jQuery中的
.text()
方法

您不能使用标准JavaScript
.innerHTML


下面是一篇关于JavaScript
.innerHTML
和JQuery
.HTML()
之间差异的相关文章。我发现这是一个非常有趣的问题,所以我做了一些研究:我尝试了所有JavaScript和JQuery函数,看看我会得到什么,但没有任何效果。您只能获得完全未解析或完全解析的html


我还偶然发现了这个问题,这也证实了,不幸的是,这是无法做到的:。

在用户输入时捕获输入,或者从外部源加载时捕获输入。

对于2021年提出此问题的人。。我的解决方案是使用
.innerHTML
将文本放在不同的文本区域,然后使用
document.getElementById(“区域”).textContent
获取纯文本,而不进行编码或转义。

.text()
返回与
.val()
相同的结果,其效果与jQuery的.html()相同
innerHTML
返回与
.html()
相同的值,而
textContent
返回解码后的表单,如
.val()
我不确定您是否可以这样做,因为浏览器已经解释了标记,并且原始pTEST/p值已转换为html。我认为您只能使用
.val()
以HTML的形式获取整个内容,或者使用
.innerHTML
$(“#myText”).val($(“#myText”).HTML()以HTML的形式获取整个内容;这不是你要找的吗@不,不是。我给出了混合(转义和未转义)html文本,我想看到/得到它,因为这里有人解决了这个问题:@Alberrenshaw不幸的是,没有。。。请在此处查看我更新(但未成功)的JSFIDLE: