ITPub博客

首页 > > > js如何获取动态创建的元素

js如何获取动态创建的元素

作者:germo 时间:2019-09-11 15:20:46 0 删除 编辑
function getByClass(oParent, sClass){
    var aResult=[];
    var aEle=oParent.getElementsByTagName('*');
    
    for(var i=0; i<aEle.length; i++){
        if(aEle[i].className==sClass){
            aResult.push(aEle[i]);
        }
    }
    return aResult;
};

window.onload=function(){
  //切换图片
  var oDivT2=document.getElementById('_easyui_tree_2');
  var oUlTLines=oDivT2.nextElementSibling || oDivT2.nextSibling;
  var oLiNan=oUlTLines.children[0];
  var aSpanNan=getByClass(oLiNan,'tree-title');
  var oLiPu=oUlTLines.children[1];
  var aSpanPu=getByClass(oLiPu,'tree-title');
  var oDivRC=document.getElementById('rightCon');
  var oImgNan=oDivRC.getElementsByTagName('img')[0];
  var oImgPu=oDivRC.getElementsByTagName('img')[1];

  for(var i=0;i<aSpanPu.length;i++){
    aSpanPu[i].onclick=function(){
      oImgNan.style.display='none';
      oImgPu.style.display='block';

      var sTxtPu=this.innerText || this.textContent;

      window.status=sTxtPu;
    };
  };

  for(var j=0;j<aSpanNan.length;j++){
    aSpanNan[j].onclick=function(){
      oImgPu.style.display='none';
      oImgNan.style.display='block';

      var sTxtNan=this.innerText || this.textContent;

      window.status=sTxtNan;
    };
  };
};

我使用 jQuery easyui 的 tree 插件,左侧是结构树,右侧是图片。点击结构树的不同节点,两张图片进行切换显示。我把 js 代码放在了 head 中。

测试时报错:无法获取未定义或 null 引用的属性“nextElementSibling”。说明 oDivT2 没有获取到,_easyui_tree_2 是结构树中一个 div 的 id。偶尔刷新页面不报错,能实现效果。请问该怎么解决?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1868/viewspace-3151807/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 图解 KMP 算法
请登录后发表评论 登录
全部评论

注册时间:2019-07-17

  • 博文量
    209
  • 访问量
    8229