当前位置:天才代写 > tutorial > 其他教程 > js教程_关于JS代码处理兼容的问题

js教程_关于JS代码处理兼容的问题

2018-05-23 08:00 星期三 所属: 其他教程 浏览:594

以下关于JS代码兼容总结的问题,相信很多程序员都为这一点细节而且操心,下面结合JS教程一般用于处理前台页面。

JS教程JS代码兼容总结的问题
1.IE getElementsByName兼容问题
尽量id与name不重名,否则IE会查找到id对应的元素
例如:

  • getElementsByName(‘test’)[0];
    非IE选择input元素
    IE则选择li元素
    解决办法:id和name避免重名

    2. IE首尾删除空格兼容问题
    String.prototype.trim = function(){ return this.replace(/(^\s*)|(\s*$)/g, “”); }
    IE调用时提示对象未定义
    解决办法:
    elem.value.toString().trim();

    3.获取元素对象兼容所有浏览器
    火狐只支持:srcElement
    IE只支持:target
    chrome srcElement和target都支持

    解决办法:var element = elem.srcElement || elem.target;

    4.IE获取子元素问题
    获取子元素IE会产生#text,所以节点建值不同

    解决办法:排除nodeName = #text 或者 nodeType == 3
    赋值给新数组
    var elementChildNodes = element.parentNode.childNodes;
    var msg;
    var msgArr = [];
    for (var i = 0,childNodesCount = elementChildNodes.length; i < childNodesCount; i++) {
    if(elementChildNodes[i].nodeType == 3) {
    continue;
    }else{
    msgArr.push(elementChildNodes[i]);
    }
    };

    5,IE创建select,option兼容问题
    IE用document.createElement,appendChild,removeChild动态添加option
    再获取表单时返回时字符串,不能获取表单元素

    解决办法:
    动态删除select中的所有options:
    document.getElementById(“ddlResourceType”).options.length=0;

    动态删除select中的某一项option:
    document.getElementById(“ddlResourceType”).options.remove(indx);

    动态添加select中的项option:
    document.getElementById(“ddlResourceType”).options.add(new Option(text,value));
    更多相关JS教程学习资料可登陆课课家在线学习平台进行查询学习!

     

      关键字:

    天才代写-代写联系方式