javascript - 如何从元素中获取原始内容(带有ascii码)?

标签 javascript jquery dom ascii

有html代码:<p id="content">&mdash;<p> .

输出应该是<p id="content">&mdash;<p>&mdash; .

我试图在下面得到它,但它的结果只有

document.writeln("Output:");
document.writeln(document.getElementById("content").innerHTML);
document.writeln(document.getElementById("content").innerText);
document.writeln(document.getElementById("content").outerHTML);
document.writeln(document.getElementById("content").outerHTML);
document.writeln(document.getElementById("content").textContent);
<p id="content">&mdash;<p>

如何通过JavaScript(或框架)实现如输出?是否可以?

最佳答案

这是不可能的。这是一个示例,输出到控制台而不是页面。您必须查看控制台才能看到输出。 我接着解释。

<!DOCTYPE html>
<html>
    <head>
        <title>Test JS entity capture</title>
    </head>

    <body>
        <p>
        From <em>"How can get original content(with ascii codes) from element?"</em><br>
        <code>http://stackoverflow.com/questions/32803029/</code>
        </p>

        <p id="targetP">
        This is <code>&amp;mdash;</code> : <span id="mdash">&mdash;</span>
        </p>
    </body>
    <script>
    var elm = document.getElementById('mdash');
    console.log('elm.innerHTML = ' + elm.innerHTML);
    console.log('elm.innerText = ' + elm.innerText);
    </script>
</html>

会发生什么?

服务器发送源 HTML 和可能单独的 javascript。
浏览器解析 HTML 并构建 DOM 树(文档对象模型)。

当它解析 HTML 时,它会将字符实体引用 转换为引用所代表的实际字符;现在 DOM 包含字符 ,当您使用 javascript 获取该元素的 innerTextinnerHTML 时,您将获取该字符。您无法知道该字符是键入的(就像我刚才键入的:在 Mac 上键入 shift+option+dash)还是最初作为字符实体发送。

关于javascript - 如何从元素中获取原始内容(带有ascii码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32803029/

相关文章:

javascript - 如何从html调用嵌套的jquery函数?

javascript - 获取 window.scrollTo(0, 0);上类

多选复选框的 Javascript 验证

c# - 自定义标签在Web浏览器DOM C#中不被视为HTMLelement/parent

javascript - 如何 chop 段落第一行之后的字符串

javascript - Highchart 未捕获错误 - 未捕获 TypeError : $(. ..).highcharts 不是函数

javascript - 为什么 jquery show() 在示例中不起作用

javascript - JQuery-appendTo() 的问题

javascript - Ember.JS 值绑定(bind)在 Action 中不起作用

javascript - 循环 JavaScript