【发布时间】:2019-08-22 21:56:04
【问题描述】:
我想从 texarea 获取原始文本,我的意思是不转换 unicode 值,例如:
let textArea=document.querySelector("textarea");
let value=textArea.value;
let valueSpan=document.querySelector(".value .text")
let valueinnerHTML=document.querySelector(".innerHTML .text");
console.log(value);
console.log(textArea.innerHTML);
valueSpan.textContent =value;
valueinnerHTML.textContent=textArea.innerHTML;
.wrapper{
display: grid;
grid-template-columns: 1fr;
grid-gap: 5px;
}
.test{
display: grid;
grid-template-columns: 1fr;
grid-gap: 3px;
}
<textarea class="hide">
Unicode: 🐤
Icon: ????
</textarea>
<div class="wrapper">
<div class="value test">
<h3> Value</h3>
<span class="text"></span>
</div>
<div class="innerHTML test">
<h3> InnerHTML</h3>
<span class="text"></span>
</div>
</div>
我想得到原始文本,所以当我得到文本区域值时,我得到“🐤”而不是????
【问题讨论】:
-
你试过
innerHTML而不是value吗? -
如果您想在某人输入字符后获取
<textarea>的值,您唯一的选择是获取该值作为字符串。innerHTML方法仅适用于页面加载时出现的内容。 -
@Taplar 它不起作用,请参阅更新后的问题
-
在 Firefox 中
innerHTML为您提供内容,.textContent也为您提供内容,但 HTML 实体已被解析以构建浏览器在文本节点中文本的内部表示.我猜,有些浏览器可能会决定为某些代码点返回一个或多个实体。 -
@Pointy 是正确的。浏览器已经解析了 HTML 并将其转换为 DOM 元素,您无法使用原始表示。这听起来像XY problem。 为什么你需要“原始文本”?你想解决什么问题?
标签: javascript html unicode