`

javascript crossbrowser case study - CSS style elements.

阅读更多

It seems that to access the CSS style element, different browser has different expectation on the name of the attribute name, one is the "style", which is supported by many a browser such as IE and chrome, and the other is "cssText"? whichi I am not sure who is using that .

 

to provide a cross-browser compatiblity , here is the code that shows you how to do the css style access by object detection . 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
      var STYLE_NAME = (function () {
        var div = document.createElement("div");
        div.style.color = "red";
        if (div.getAttribute("style")) {
          return "style";
        }
        if (div.getAttribute("cssText"))
          return "cssText";
      })();

      alert("the attribute name is " + STYLE_NAME);

      // Later  on:
      window.onload = function () {
        alert("this is a simple test");
        test2.setAttribute(STYLE_NAME, document.getElementById(STYLE_NAME));
        // the code given below is used in my referenced book, however, it does not work.
        //        document.getElementById("test2").getAttribute(STYLE_NAME) = document.getElementById("test").getAttribute(STYLE_NAME);

      };

    </script>
</head>
<body>
  <div id="test" style="color:Red;"></div>
  <div id="test2"></div>
</body>
</html>
 

In the above example, it tries to sett a div with id "test2" with the value from another div named "test". and it does this by two stesp

 

 

1. the feature detection, it detect which name is supported, and then store it as a varaible.

2. then it used the value stored to determine which to use. 

分享到:
评论

相关推荐

    jquery插件jquery-ui-1.8.2.custom.min.js

    这些组件能够帮助开发者快速构建出具有专业外观和行为的网页元素,无需从零开始编写复杂的JavaScript代码。"jquery-ui-1.8.2.custom.min.js"是jQuery UI的一个定制版本,"custom"表示它是根据特定需求定制的,"min...

    jquery-ui-1.9.2.custom.min.js

    通过调整CSS,可以改变按钮、对话框、滑块等组件的颜色、大小和布局。 综上所述,"jquery-ui-1.9.2.custom.min.js" 是一个针对特定项目需求定制并经过最小化的jQuery UI版本,它集成了多个组件,为开发者提供了高效...

    jquery-ui-1.10.0.custom.zip

    jQuery UI 是一个基于 jQuery JavaScript 库的可扩展用户界面库。它提供了多种交互控件、可拖动、可排序的元素、日期选择器、对话框、滑块、菜单等丰富的功能,极大地简化了网页的界面开发工作。在本文中,我们将...

    video-js-5.10.6.zip4

    3. **JavaScript支持**:video.js和video.min.js是videojs的JavaScript库,它们负责处理播放器的逻辑功能。min版本是压缩过的,适用于生产环境,未压缩的版本则更适合开发调试。 4. **源码映射**:video.min.js.map...

    bootstrap-table-export.js和tableExport.js

    这个插件通常需要在引入Bootstrap的核心JavaScript和CSS库之后再引入,以确保兼容性和样式正常显示。 接着,我们来看“tableExport.js”。这是一个独立的表格导出工具,不仅适用于Bootstrap表格,还可以与其他类型...

    dynatrace-AJAX-edition-4.2.0.1528.zip

    Dynatrace AJAX Edition 4.2.0.1528 是一款专为优化基于AJAX(Asynchronous JavaScript and XML)技术的Web应用程序性能而设计的强大工具。这个版本的发布,旨在提供更高效、更精准的性能监测与分析,帮助开发者解决...

    jquery-1.11.1.js 、jquery-1.11.1.min.js 【官方jquery包 js】

    `selector`可以是CSS选择器,如`$("#id")`选取ID为`id`的元素,`$(".class")`选取所有class为`class`的元素。 - `$(element).html()`:获取或设置元素的HTML内容。 - `$(element).append()`/`.prepend()`:在元素...

    bootstrap-table-fixed-columns(css,js)

    总的来说,`bootstrap-table-fixed-columns`是一个增强Bootstrap表格功能的工具,它通过CSS和JavaScript实现了固定列效果,使得用户在处理大量数据时能更有效地导航。了解并熟练掌握这个扩展的使用,将有助于提升...

    jquery-1.8.3.js 、jquery-1.8.3.min.js 【官方jquery包 js】

    其中,选择器引擎使得开发者可以通过CSS1-CSS3的选择器轻松选取DOM元素,而链式调用设计则让代码更显简洁。此外,版本1.8.3对jQuery的API进行了一些优化和改进,提升了性能和稳定性。 在DOM操作方面,jQuery提供了...

    libffi-3.2.1.tar.gz

    - **动态语言实现**:许多动态语言如Python、Ruby和JavaScript的实现(如JSCore)都使用libffi来调用C语言的原生函数,实现性能敏感的部分。 - **插件系统**:libffi常用于构建插件系统,允许用户在不修改主程序的...

    echarts-gl.min.js

    报错“Component series.bar3D not exists. Load it first.”时下载并引用

    H-ui.admin 前端框架

    │ style.css 写你自己的样式 │ ├─images UI相关的图片素材 │ ├─js │ H-ui.js H-ui核心脚本 │ H-ui.admin.js 本站相关的js ├─lib │ jquery jQuery类库(v1.9.1) │ bootstrapSwitch ...

    jdk-8u60-linux-x64.tar.gz

    7. **Nashorn JavaScript引擎**:JDK 8包含了Nashorn JavaScript引擎,允许Java应用直接执行JavaScript代码,促进了Java与JavaScript的互操作性。 8. **并发改进**:包括Fork/Join框架的提升,用于并行计算,以及新...

    bootstrap-select使用示例.rar

    `bootstrap-select`提供了一些可配置的选项,比如`style`(选择项的显示样式)、`liveSearch`(启用搜索过滤功能)、`width`(设置选择框宽度)等,通过`data-`属性可以设置这些选项。例如,要启用搜索过滤并设置...

    jdk-6u45-linux-i586-rpm.bin

    Java 6是一个重要的Java版本,它引入了许多新特性,例如改进的内存管理、新的编译器、JavaScript引擎(Rhino)集成以及Swing组件的增强等。 在标签中,我们看到了"jdk"、"linux"、"i586"、"x86"和"rpm"这些关键词,...

    javascript经典特效---CSS的鼠标影响.rar

    4. **JavaScript动态修改样式**:通过JavaScript,可以实时更改元素的CSS属性,如`style.color`、`style.transform`等,实现即时反馈的特效。 5. **CSS变量和JavaScript的配合**:CSS变量(`var()`)允许在...

    2018-02-09-fishes.rar

    压缩包内的“JS-Demo”可能是一个JavaScript示例目录,尽管题目中主要强调CSS动画,但JavaScript也可能用于辅助实现某些功能,例如响应用户的交互,控制动画的播放和暂停,或者实现更复杂的动态效果。 为了详细了解...

    jquery-ui-datepicker中文版

    jquery-ui-1.8.16.custom.css文件末尾加入以下代码 .ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; } .ui-timepicker-div dl{ text-align: left; } .ui-timepicker-div dl dt{ height: 25px; } .ui-...

    axis2包含axis2-1.4.1-war.zip和axis2-1.4.1-bin.zip

    WAR文件包含了运行一个Web应用所需的全部资源,如Servlet类、JSP页面、静态HTML文件、图片、CSS样式表、JavaScript文件以及配置文件等。在Tomcat或任何支持Servlet 2.3规范以上的应用服务器中,你可以直接部署这个...

    BootStrap-table.js 官网下载

    - `src`:源代码文件,包括JS、CSS和模板,适用于开发和定制。 - `examples`:包含各种示例,展示如何使用和配置Bootstrap-table.js。 - `docs`:文档文件,解释了插件的使用方法和API详情。 - `LICENSE`:项目的...

Global site tag (gtag.js) - Google Analytics