为什么我这样动态创建的对象不能显示???? <script> var newDiv = document.createElement("div"); newDiv.style.width = 20 + "px"; newDiv.style.height = 20 + "px"; newDiv.style.backgroundColor = "red";newDiv.innerHTML = "test";document.body.appendChild(newDiv);</script> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script> var newDiv = document.createElement("div"); newDiv.style.width = 20 + "px"; newDiv.style.height = 20 + "px"; newDiv.style.backgroundColor = "red";newDiv.innerHTML = "test";document.body.appendChild(newDiv);</script> var newDiv = document.createElement("div"); newDiv.style.width = 20 + "px"; newDiv.style.height = 20 + "px"; newDiv.style.backgroundColor = "red";newDiv.innerHTML = "test";document.body.appendChild(newDiv); var newDiv = document.createElement("div"); newDiv.style.width = 20 + "px"; newDiv.style.height = 20 + "px"; newDiv.style.backgroundColor = "red";newDiv.innerHTML = "test";document.body.appendChild(newDiv); 将这个加到<html>的最后面页面加载顺序是从上到下执行的时候body还没有加载上 所以找不到对象 或者写成函数在<body onload="函数">调用 function addspan(obj,text)//添加元素 { var olddiv; if(obj==null) { olddiv=null; } else { olddiv = document.getElementById(obj.id+"span"); } if(olddiv==null) { var span=document.createElement("span"); span.innerHTML=text; span.className="red"; span.type="red"; span.id=obj.id+"span"; obj.parentNode.appendChild(span,obj); } } function add() { obj=document.getElementById("S_Title"); addspan(obj,"text"); }<div>标题:<input id="S_Title" type="text" onchange="add()" /></div> 上面代码已经测试 成功注意 这只是个例子还有很多要注意的地方例如 你添加了span 有时候还需要删除它至于怎么删除 你就自己好好研究下吧 <script>window.onload=function(){ var newDiv = document.createElement("div"); document.body.appendChild(newDiv); newDiv.style.width = 20 + "px"; newDiv.style.height = 20 + "px"; newDiv.style.backgroundColor = "red";}</script><body></body><script> var newDiv = document.createElement("div"); document.body.appendChild(newDiv); newDiv.style.width = 20 + "px"; newDiv.style.height = 20 + "px"; newDiv.style.backgroundColor = "red";</script> 已经说过了 放在前面跟放在后面是不同的 页面加载是从上到下 先执行上面的js放在<body>前执行的话body还没有加载 找不到放在后面的话body已经加载 就可以找到 JQUERY $("form:first").submit();在IE6下面不执行,咱整 jsp 在状态栏显示文字的问题 用showModalDialog打开窗口后,要返回多个值到父窗口如何实现(在线,高分,必结) 请问如何取得一个下拉框的值(在线等) 弹出窗口并传值。。。怎么一起做。。 紧急求助!showModalDialog的问题,请教高手!!! 自动post后碰到的新问题 制作网上同学录时遇到的问题! 哪儿有JDK的中文帮助文当下载?? 请问怎么才能在控制文本域中每一行的内容呢? js控制text数值的问题 JavaScript的最新版本
<script>
var newDiv = document.createElement("div");
newDiv.style.width = 20 + "px";
newDiv.style.height = 20 + "px";
newDiv.style.backgroundColor = "red";
newDiv.innerHTML = "test";
document.body.appendChild(newDiv);
</script>
var newDiv = document.createElement("div");
newDiv.style.width = 20 + "px";
newDiv.style.height = 20 + "px";
newDiv.style.backgroundColor = "red";
newDiv.innerHTML = "test";
document.body.appendChild(newDiv);
var newDiv = document.createElement("div");
newDiv.style.width = 20 + "px";
newDiv.style.height = 20 + "px";
newDiv.style.backgroundColor = "red";
newDiv.innerHTML = "test";
document.body.appendChild(newDiv);
页面加载顺序是从上到下
执行的时候body还没有加载上 所以找不到对象
{
var olddiv;
if(obj==null)
{
olddiv=null;
}
else
{
olddiv = document.getElementById(obj.id+"span");
}
if(olddiv==null)
{
var span=document.createElement("span");
span.innerHTML=text;
span.className="red";
span.type="red";
span.id=obj.id+"span";
obj.parentNode.appendChild(span,obj);
}
} function add()
{
obj=document.getElementById("S_Title");
addspan(obj,"text");
}
<div>标题:<input id="S_Title" type="text" onchange="add()" /></div>
注意 这只是个例子
还有很多要注意的地方
例如 你添加了span 有时候还需要删除它
至于怎么删除 你就自己好好研究下吧
<script>
window.onload=function()
{
var newDiv = document.createElement("div");
document.body.appendChild(newDiv);
newDiv.style.width = 20 + "px";
newDiv.style.height = 20 + "px";
newDiv.style.backgroundColor = "red";
}
</script>
<body>
</body>
<script>
var newDiv = document.createElement("div");
document.body.appendChild(newDiv);
newDiv.style.width = 20 + "px";
newDiv.style.height = 20 + "px";
newDiv.style.backgroundColor = "red";
</script>
js放在<body>前执行的话body还没有加载 找不到
放在后面的话body已经加载 就可以找到