javascript document.createElement函数?
我有一个变量,其中包含3个标记名,它们之间用“,”字符分隔。我想使用.split()函数拆分它们,然后创建3个元素并将其附加到文档正文中javascript document.createElement函数?,javascript,html,Javascript,Html,我有一个变量,其中包含3个标记名,它们之间用“,”字符分隔。我想使用.split()函数拆分它们,然后创建3个元素并将其附加到文档正文中 <head> <style> div { height:500px; width:500px; background:#F00; float:left} span{display:block; float:right} </style> <script type="text/javascript">
<head>
<style>
div { height:500px; width:500px; background:#F00; float:left}
span{display:block; float:right}
</style>
<script type="text/javascript">
var element= div,p,span;
var j=element.split(',')
for(i=0;i<j.length;i++){
var crt=document.createElement(j[i])
}
document.body.append(crt)
</script>
</head>
<body>
</body>
div{height:500px;width:500px;background:#F00;float:left}
span{显示:块;浮点:右}
var元素=div,p,span;
var j=element.split(',')
对于(i=0;i而言,该代码似乎很好,除了两点:
var-element=div,p,span
不是有效的语句,您应该使用换行引号(“)来创建字符串:var-element='div,p,span';
您应该将语句document.body.append(crt)
放入for
循环中,这样每个元素都将被追加到
试试这个
for(i=0; i<j.length; i++)
{
var crt = document.createElement(j[i]);
document.body.append(crt);
}
for(i=0;i您的'element'变量需要是字符串。您需要使用appendChild()而不是append(),并且appendChild()调用应该在循环中:
var element = "div,p,span";
var j = element.split(',');
var crt;
for(var i = 0; i < j.length; i++) {
crt = document.createElement(j[i]);
document.body.appendChild(crt);
}
var element=“div,p,span”;
var j=element.split(',');
无功阴极射线管;
对于(变量i=0;i
其他人说了什么,加上你需要在加载时执行此操作:
div{height:500px;width:500px;background:#F00;float:left}
span{显示:块;浮点:右}
变量元素=[“div”,“p”,“span”];
window.onload=function(){
对于(var crt,i=0,n=elements.length;i
但是,执行此代码时,浏览器尚未解析body
标记,因此应将此代码放在
之后,或在加载DOM时运行它(onload
事件或DOMContentLoaded
(如果支持)
您也可以在支持的位置使用(ES5,有很多垫片,也在我链接的MDN页面中):
或者如果您正在使用任何支持库(jquery、下划线等)它们提供了等效的功能。请适当缩进您的代码。元素需要是字符串作为开始。最终结果应该是还是?它不起作用,因为您的代码中有其他问题,例如var element=div,p,span;
应该是一个用引号括起来的字符串。
<head>
<style>
div { height:500px; width:500px; background:#F00; float:left}
span{display:block; float:right}
</style>
<script type="text/javascript">
var elements= ["div","p","span"];
window.onload=function() {
for(var crt,i=0, n=elements.length;i<n;i++){
crt=document.createElement(elements[i])
document.body.appendChild(crt)
}
}
</script>
</head>
<body>
</body>
var tags = "div,p,span".split(",");
for (var i=0, tag; tag = tags[i++];)
document.body.appendChild(document.createElement(tag));
var tags = "div,p,span".split(",");
tags.forEach(function(tag) {
document.body.appendChild(document.createElement(tag));
});