zoukankan      html  css  js  c++  java
  • setAttribute的浏览器兼容性(转)

    1.element要用getElementById or ByTagName来得到,

    2.setAttribute("class", vName)中class是指改变"class"这个属性,所以要带引号。

    3.IE中要把class改成className,.....IE不认class,所以最好写两句,都用上吧。

    W3C DOM - {setAttribute()}

    setAttribute(string name, string value):增加一个指定名称和值的新属性,或者把一个现有的属性设定为指定的值。

    1、关于class和className
    class属性在W3C DOM中扮演着很重要的角色,但由于浏览器差异性仍然存在。使用setAttribute("class", vName)语句动态设置
    Element的class属性在firefox中是行的通的,在IE中却不行。因为使用IE内核的浏览器不认识"class",要改用"className";
    同样,firefox 也不认识"className"。所以常用的方法是二者兼备:
    element.setAttribute("class", vName);
    element.setAttribute("className", vName); //for IE

    2、setAttribute()的差异
    我们经常需要在JavaScript中给Element动态添加各种属性,这可以通过使用setAttribute()来实现,这就涉及到了浏览器的兼容性问题。
    var bar = document.getElementById("foo");
    bar.setAttribute("onclick", "javascript:alert('This is a test!');");
    这里利用setAttribute指定e的onclick属性,简单,很好理解。但是IE不支持,IE并不是不支持setAttribute这个函数,
    而是不支持用setAttribute设置某些属性,例如对象属性、集合属性、事件属性,也就是说用setAttribute设置style和onclick这些属性
    在IE中是行不通的。为达到兼容各种浏览器的效果,可以用点符号法来设置Element的对象属性、集合属性和事件属性。
    程序代码
    document.getElementById("foo").className = "fruit";
    document.getElementById("foo").style.cssText = "color: #00f;";
    document.getElementById("foo").style.color = "#00f";
    document.getElementById("foo").onclick= function () { alert("This is a test!"); }

  • 相关阅读:
    hdu4998 旋转坐标系
    hdu4998 旋转坐标系
    hdu5012 水搜索
    hdu5012 水搜索
    hdu5007 小水题
    ZOJ 3645 BiliBili 高斯消元 难度:1
    ZOJ 3654 Letty's Math Class 模拟 难度:0
    ZOJ 3647 Gao the Grid dp,思路,格中取同一行的三点,经典 难度:3
    ZOJ 3646 Matrix Transformer 二分匹配,思路,经典 难度:2
    ZOJ 3644 Kitty's Game dfs,记忆化搜索,map映射 难度:2
  • 原文地址:https://www.cnblogs.com/nuannuan7362/p/7500421.html
Copyright © 2011-2022 走看看