将IE8中不兼容的代码进行修改的方法

来源:互联网 发布:可以看耽美小说的软件 编辑:程序博客网 时间:2024/06/16 19:41

    我对让IE8等兼容append的这样的代码,也很感兴趣,但是我发现,在现在浏览器上发的基本都是放屁(原谅我的粗口),光有头没有尾,找了一上午也没有好用的,在IE9之后的版本才对append这样的还有attr之类有了兼容性,那么以前的都是怎么解决的呢?

     在以前可能用的都是document,有没有更好的办法我不知道,但是我用的document好用,下面跟大家分享一下,真的不兼容太恶心人了,尤其是我还忘了document

     首先呢大家要先知道在旧版本里是没有$("#ss")和$(".ss")这样都是使用document.getElementsByName("ss")和document.getElementById("ss")。要注意Name前面有s,一个是数组类型接收,一个是单个的            //这个是关键

    在这里我呢先把用过的在这里写下来,剩下的希望大家能一起补充,在评论里,为了菜鸟,为了部落,兽人永不为奴!(嘿嘿玩一下)!

    1、怎样想select里添加option,类似与2级级联,假设有一个年级和一个班级,怎样获取到班级?先选择年级,根据年级的ID去选择班级,(不建议去数据库取值,因为太慢),我呢是一开始将班级和年级全部预加载了,根据选的年级去比对班级,然后添加进二级select里(这些完全是屁话大家不用管,我是因为特殊情况用的dwr,所以先把所有全部放到页面了)

        <select   id="ss"><option value="">请选择</option></select>   假设这是年级的,我用的是forEach,就不写了太麻烦了

        <select   id="sss"></select>  这是班级的              接下来是js中的代码

       

       怎样将年级的value给function我就不写了大家也会

      var ss = document.getElementById("ss");        //ss即相当于了班级select了

      ss.innerHTML = "";                //这是班级的内容我在一开始设成空免得每次点击都多一遍

      sss.options[sss.options.length] = new Option("-选择班级-", "");           //ss添加option第一行,第一个是显示的值,第二个是value

      if(ss传进来的值不等于“”时){

         sss.disabled = false;        //这个其实没啥用,就相当于是否可以使用班级这个下拉菜单。。。。在我的代码里没啥用,用于判断等情况

        在年级ID不等于空的时候和班级的外键进行对比,然后在循环里

                sss.options[sss.options.length] = new Option("显示的数据", "value");//在这里是没有办法设定ID的只有值和value  

}

    

2、在1里呢我想大家对与将年级的数据取到js里用的都是onclick(ss)携带参数这样的,最好是this.value,这样携带的肯定是你选中的值,下面告诉大家怎样不携带数据,也能取到值:

     var ss = document.getElementById("ss");   //年级select

      var sos =ss.selectedIndex;       //选的那个的下标,也可能不是下标嘿嘿,在一个alert试试吧,哪怕你点击了200个不同的,他也只会取到第一次点击的哪一个的位置

      var ssName=ss.options[sos].text;      //获取到ss中下标为多少的text==$("#ss").html()    差不多吧

      也可以换成.value         在这里没有()相当于$("#ss").value();          //例如请看第一行代码是ss是获取下拉菜单吧?我就可以在这里直接ss.value就可以获取到值了,不需要再写一遍那么多单词了


累了!不想写了。。。。。算了加把劲干吧地!

3、urls = document.getElementsByName("url");

      var url = urls[ss].value;           //这个ss就是我定义的选定的下标,我在一个多选框那里循环,如果该下标的结果是true就让ss=i,详情参考我的文章多选与反选最简单的实现方法。

    这样可以取到你选中的那一列的值

4、是配合3使用了    我在jsp中将一行td中插入了input标签,我将它设为只读,同时隐藏了边框看起来就和普通td没有任何区别,当我多选框选定后就如下代码,将input变成type格式,将input长度设为400px;就没有原先的隐藏边框了,这时它的边框显示

     urls[ss].style.cssText="type:text";        
   urls[ss].setAttribute("style","width: 400px");  //这俩我还真不知道哪个可以修改什么。但这个setAttrbute可以添加事件set.setAttribute("onclick","setSumbit("+code+","+ss+")");





基本也就这些(我用到的)如果大家谁还有更好的,可以在评论里留一下,我给复制进来,共同努力

别嫌弃我写的太臃肿了

原创粉丝点击