日期:2014-05-17  浏览次数:20456 次

js获取一个document.write()创建的对象的问题
document.write("<div id='objDiv'>&nbsp;</div>");
var obj = document.getElementById('objDiv');

这样是正确的
但把&nbsp去掉后为什么obj得不到对象呢?
document.write("<div id='objDiv'></div>");
var obj = document.getElementById('objDiv');

------解决方案--------------------
HTML code



<script>

document.write(" <div   id='objDiv'></div> ");
var   obj   =   document.getElementById('objDiv');
alert(obj)
</script>

------解决方案--------------------
可以不用document.write;

<body>
//....原有内容

//以下代码需要放在最底下。
<script type="text/javascript">
var $ = function(el){return document.getElementById(el);}
var $body = document.body;

var el = document.createElement('div');
el.id = 'someid';
el.innerHTML = '内容....<span>其他....</span>';
el.className = 'someCssClass';//样式表class名称
$body.appendChild(el); //这里附加到document.body上去

alert($('someid')); //return HTMLElement.
</script>
</body>