日期:2014-05-16  浏览次数:20417 次

innerTHML之后用getElementsByTagName
本帖最后由 cxmessage 于 2013-04-26 15:48:51 编辑
比如这样一个例子
<div id="divdemo">
</div>

js:
var divtest=document.getelementById('divdemo');
divtest.innerHTML="<a href=\"www.baidu.com\"/>";
var demoa=document.getElementsByTagName('a');
alert(demoa[0]);


只是举个例子,必要过分追究哪个地方有问题什么的。


假如这样写的话,好像最后弹出的值为空的。主要是什么原因引起的哪?

这是我代码:

if(document.getElementById('picList')){
//这个是获得的一个div。
    var picList = document.getElementById('picList');
//下面是获得的a的标签集合。
    var img = picList.getElementsByTagName("a");
   var mleft = 0;
    var move = setInterval(moveEvent,30);
        for(var i=0;i<img.length;i++ ){
     img[i].onmousemove = function(){
    clearInterval(move);
      }
    img[i].onmouseout = function(){
    setTimeout(mmove,30);
     }

     }
    var arr = new Array();
    for ( var i=0; i<img.length/2; i++){
    arr[i] = -110*i;
    }
}

红色部分事件没有赋予成功。不知道什么原因。
JavaScript innerhtml getElementsByTagName

------解决方案--------------------
imgstring 有没内容,看代码是没问题的
如果有内容,估计是POST请求异步的原因,但是post一直都应该是同步的
是在不行换ajax方法试试看
$.ajax({
type: "POST",
url: url,
async:false,
success: function(data){
// ..

},
error:function(e){alert('后台出错,请查看日志');}
});

------解决方案--------------------

上面截图弄错了,是这个