Javascript 设置JS变量并在html标记中使用

Javascript 设置JS变量并在html标记中使用,javascript,html,variables,var,Javascript,Html,Variables,Var,我设置了一个变量,我需要将此变量拉入html元素,但我无法让它打印出值,这是代码: <script> var randomnumber=Math.floor(Math.random()*11) </script> <div id="<script type="text/javascript">document.write(randomnumber)</script>"></div> var randomnumb

我设置了一个变量,我需要将此变量拉入html元素,但我无法让它打印出值,这是代码:

<script>
    var randomnumber=Math.floor(Math.random()*11)
</script>

<div id="<script type="text/javascript">document.write(randomnumber)</script>"></div>

var randomnumber=Math.floor(Math.random()*11)
谢谢

编辑:我刚刚使用了一个div作为示例,但是我需要向img标记添加一个随机数,就像跟踪标记一样,并且需要一个唯一的标识符。有更好的方法吗?

使用

<script>
document.write('<div id="'+randomnumber+'" ></div>');
</script>

文件。写(“”);

您不能打开属性中的脚本标记,也可以使用
JS
创建它:

var randomnumber=Math.floor(Math.random()*11);
a = document.createElement('div');
a.setAttribute('id',randomnumber);
document.body.appendChild(a);

// if you know the exact class or ID where it is to be appended you can use

document.getElementsByClassName("myclass")[0].insertBefore(a, document.getElementsByClassName("beforeClass").firstChild);

这将创建一个
div
,其中
id
作为
randomnumber
,并将其附加到
正文中

这是干什么用的?为什么要将随机ID分配给元素?(仅数字ID在HTML4BTW中无效)只需通过javascript本身注入div即可。顺便说一句,在html4中,您不应该有前导数字id,我甚至不确定您是否可以将脚本标记放在属性中…
document.write
?2012年底?我不认为您可以在这里使用
appendChild
,因为OP似乎希望div正好放在代码所在的位置。您的代码将把div附加到正文的末尾,这可能是不需要的。如果您知道需要附加的确切位置,您可以找到特定的类或divit@Ian调用
document.body.appendChild(a)
将其添加为此时的最后一个元素,就像
document.write
would@JuanMendes我刚才说过。@Ian你说过这将是正文中的最后一件事,只有在脚本标记后没有HTML时才是这样。
document.write()
的问题在于它在
之前不会执行。如果我以前需要javascript执行呢?@ArturGrigio我不知道你在说什么。它确实在
之前执行,它在页面上的正确位置执行。因此,如果你把它放在它所依赖的某个HTML之前,它就会崩溃,因为它找不到节点(因为它还没有被解析),比如说我有
文档。write(“”)
当页面开始呈现时,JS只会将
作为纯文本写入,直到它到达
,然后将其渲染为图像。@ArturGrigio不正确,图像立即开始加载。您可以通过分析网络来测试它,如果图像被缓存,它会立即显示(在单独的脚本标记上添加断点)。脚本标记关闭后,浏览器会立即解析
document.write
生成的HTML。