为啥document.getElementById()找不到

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥document.getElementById()找不到相关的知识,希望对你有一定的参考价值。

function div(id,width,height)

var aDiv=new Object();
aDiv.onclick=function()
alert("You've clicked me.");
/**/
aDiv.show=function()
var setWidth="width:"+this.width+";";
var setHeight="height:"+this.height+";";
var setBorder="border:1px "+(this.backgroundColor==null?"#000000":this.backgroundColor)+" solid;";
var setStyle="style=\""+setWidth+setHeight+setBorder+"\"";
var setID="id='"+this.id+"' ";
var str="<div "+setID+setStyle+"></div>";
document.write(str);
alert(str);

aDiv.id=id;
aDiv.width=width;
aDiv.height=height;
return aDiv;

function colorfunDiv(id,width,height,color)

var aDiv=new Object();
aDiv.prototype=new div(id,width,height);
aDiv.backgroundColor=color;
aDiv.show=function()
aDiv.prototype.backgroundColor=color;
aDiv.prototype.show();

return aDiv;

var cDiv=colorfunDiv("one",100,200,"#f4b5ef");
cDiv.show();
var tar=document.getElementById('one');
alert(tar.id);
</script>

程序如上,为什么最后的ALERT出不来东西。
body.appendChild(Object) 是这个语法吗?一会儿试试。这个是将元素添加到BODY中?那JS写的东西,没用刚才那句话往里加的时候,是在哪儿呢?还有就是,JS写东西的时候,生成的对象,必须得在这段完成后,再从其它地方调用才会管用。而不能立即调用,这是为什么呀?

这个是最后的泛解析出错了。你把指针弄到后面去。 参考技术A 要将创建的的元素 添加到当前页面元素中 比较添加到body.appendChild(创建的元素);

document.getElementById在JS方法外使用为啥获取空

<script type="text/javascript">
var test = document.getElementById("test");

function alertT()
alert(test);

</script>
<form>
<textarea id="test">sdfsfsdfsfs</textarea>
<button onclick="alertT()">test</button>
</form>

参考技术A 顺序的问题,把js代码放到表单的后面。
这样:
<form>
<textarea id="test">sdfsfsdfsfs</textarea>
<button onclick="alertT()">test</button>
</form>
<script type="text/javascript">
var test = document.getElementById("test");

function alertT()
alert(test);

</script>本回答被提问者采纳
参考技术B 代码是从上到下,从左到右运行的。你的代码并没有找到test这个对象,所以会出错。建议你这么写
<script type="text/javascript">
window.onload = function()
var test = document.getElementById("test");

function alertT()
alert(test);

</script>
<form>
<textarea id="test">sdfsfsdfsfs</textarea>
<button onclick="alertT()">test</button>
</form>
参考技术C <form>
<textarea id="test">sdfsfsdfsfs</textarea>
<button onclick="alertT()">test</button>
</form> <script type="text/javascript">
var test =this.document.getElementById("test");//具体我也不知道,反正ID和被定义的字符一样的时候IE就得这样些把FF没问题

function alertT()
alert(test);

</script>

以上是关于为啥document.getElementById()找不到的主要内容,如果未能解决你的问题,请参考以下文章

为啥document.getElementById()找不到

为啥我不能用 `var output = document.getElementById('message').innerHTML;` 做一个循环

为啥更新包含 `document.getElementById("text").value` 的变量不会改变 DOM? [复制]

document.getElementById在JS方法外使用为啥获取空

为啥我不能通过 document.getElementById("node's_id").child 选择节点子节点?

JS中document.getElementById( id ).style.backgroundImage= url( 这里为啥不能