zoukankan      html  css  js  c++  java
  • jQuery DOM操作IE6兼容性

    执行ajax操作,动态刷新ul列表的内容,先容empty(),remove()操作将DOM元素移除,然后在添加新的元素。但是在IE6下报错了,

    原来的:

    var parentFloderUl = $("#filterToFloders",parent.document);
    //重新渲染文件夹列表
    var html="";
    var newFloaderId = "";
    var newFloaderName = "";
    for(var i=0; i<floaderList.length; i++){
    var liStr = "";
    if(floaderList[i].name == folderName){
    newFloaderId = floaderList[i].fid;
    newFloaderName = floaderList[i].name;
    }
    if(floaderList[i].type != 5){
    liStr = '<li id="{0}" f_name = "{1}" ><a href="javascript:void(0);" style="205px;206px\0; *206px;" ><span>{1}</span></a></li>'.format(floaderList[i].fid,floaderList[i].name);
    }
    if(i == floaderList.length-1){ //最后一项上加上一个class
    liStr = '<li id="{0}" f_name = "{1}" ><a href="javascript:void(0);" class="clasy_bd" style="205px;206px\0; *206px;" ><span>{1}</span></a></li>'.format(floaderList[i].fid,floaderList[i].name);
    }
    html += liStr;
    }
    html += '<li id="addFloder"><a href="javascript:void(0);" style="205px;206px\0; *206px;"><span>新建文件夹</span></a></li>';
    parentFloderUl.empty();
    parentFloderUl.children().remove();

    $(html).appendTo(parentFloderUl);

    有两个问题:

    1.css hacker

     style="205px;206px\0; *206px;" 在js里面斜杠需要转义,这里没转义导致在Ie6下显示解析错误。

    正确:style="205px;206px\\0; *206px;" 

    2.$(html).appendTo(parentFloderUl); 要换成parentFloderUl.append(html);这里还没搞懂是什么原因。

  • 相关阅读:
    一些术语
    Professional Frontend Engineering
    爱上阿森纳,爱上一种信仰
    ThinkPHP 和 UCenter接口的冲突
    这个城市
    来自Google的10条价值观
    如何将Gb2312转为unicode?
    未完成的代码(JS)
    微软也用PHP?!
    博客园对"公告"的Js进行了过滤
  • 原文地址:https://www.cnblogs.com/ievy/p/2772789.html
Copyright © 2011-2022 走看看