使用JavaScript读取脚本标签的值

时间:2020-02-10 23:59:54

标签: javascript html

我试图在script标签内添加值,然后读取它并解析JavaScript中的值。我的HTML文件中有类似的内容。

<script type="text/plain" id="bound-bunny">
v -0.069188 0.091379 -0.013998
v -0.266134 0.287866 0.204836
v 0.150992 0.147769 0.133125
</script>

我想读取script标记中的值,并最终对其进行解析。

var me = document.getElementById('bound-bunny').innerHTML;
console.log(me);

我已经做了类似的事情,但是我得到的是无法读取null的属性“ innerHTML”,所以我不确定如何继续。

2 个答案:

答案 0 :(得分:1)

您的代码很好,请确保在执行<script type="text/plain" id="bound-bunny">之前加载document.getElementById('bound-bunny').innerHTML,并执行

示例:

由于在#running-script

之后正在执行#bound-bunny,因此本示例可以正常工作

<script type="text/plain" id="bound-bunny">
v -0.069188 0.091379 -0.013998
v -0.266134 0.287866 0.204836
v 0.150992 0.147769 0.133125
</script>

<script id="running-script">
var me = document.getElementById('bound-bunny').innerHTML;
console.log(me);
</script>

此示例将抛出与您相同的错误,因为在#running-script

之前正在执行#bound-bunny

<script id="running-script">
var me = document.getElementById('bound-bunny').innerHTML;
console.log(me);
</script>

<script type="text/plain" id="bound-bunny">
v -0.069188 0.091379 -0.013998
v -0.266134 0.287866 0.204836
v 0.150992 0.147769 0.133125
</script>

答案 1 :(得分:-1)

您可以解析标签中的变量。尽管称它为 script 标签是不合适的。

您也可以将脚本中的值作为有效的javscript变量:

<script type="text/javascript">
const vars = [
    {-0.069188, 0.091379, -0.013998},
    {-0.266134, 0.287866,0.204836},
    {0.150992, 0.147769, 0.133125}
]
</script>

编辑:我想我可能会误解了,如果您只想读取值而不是将其实际解析为有效的JavaScript变量,那么您的代码就可以了。只需确保JavaScript代码在script标记中,该标记位于“ bound-bunny”标记之后。这样,您可以确保在访问值之前先加载带有值的标签。