Can you retrieve the value from an attribute as it appeared in the source?

时间:2018-11-22 20:18:09

标签: javascript html dom

Commenting on this question是不雅还是不好的做法,使我感到奇怪。

在JavaScript中,是否可以获取HTML属性的“原始”值,即在解析之前在源代码中编写该属性的方式?

假设您有此HTML:

<section id="theSection" title="The&#32;section">The section</section>

<script>
 console.log(document.getElementById('theSection').title);
</script>
 

我需要在脚本中写些什么,以使其输出标题的原始转义值,而不是经过解析的值?
JavaScript节点具有许多属性和值,但是在这种情况下,没有一个说"The&#32;section"而不是"The section"

1 个答案:

答案 0 :(得分:0)

无法像源代码一样在浏览器中获取解析的Unicode字符 HTML文件,并且&#32;是一个空格,那么我们可以对任何标题的单词之间都留有空格的情况使用这种解决方法。

<section id="theSection" title="The&#32;section">The section</section>

<script>
 console.log(document.getElementById('theSection').title.split(' ').join('&#32;'));
</script>
 

我知道这是愚蠢的答案, 但是,如果真的打算处理空间unicode,则按如下所示,将具有<section id="theSection" title="The&#32;section">The section</section>fetch(url)的网址打入

fetch('stackoverflow.com')
  .then(async (res) => {
    const text = await res.text();
   // process the text with any unicode charachter as it is now 100% string 
  }
);

现在,源HTML文件是一个字符串。在您的情况下,最好在带有正则表达式的字符串上使用javascript,以查找要在html源代码中处理的内容。