熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

JavaScript中setAttribute用法介紹

2013-11-15 11:57:43  來源: JSP教程 
我們經常需要在JavaScript中給Element動態添加各種屬性這可以通過使用setAttribute()來實現這就涉及到了浏覽器的兼容性問題  

  setAttribute(string name string value)增加一個指定名稱和值的新屬性或者把一個現有的屬性設定為指定的值
樣式問題
setAttribute("class" value)中class是指改變"class"這個屬性所以要帶引號
vName代表對樣式賦值
例如:

復制代碼 代碼如下:
var input = documentcreateElement("input");
inputsetAttribute("type" "text");
inputsetAttribute("name" "q");
inputsetAttribute("class"bordercss);

  
輸出時<input type="text" name="q" class="bordercss">input控件具有bordercss樣式屬性
注意class屬性在WC DOM中扮演著很重要的角色但由於浏覽器差異性仍然存在
使用setAttribute("class" vName)語句動態設置Element的class屬性在firefox中是行的通的但在IE中卻不行因為使用IE內核的浏覽器不認識"class"要改用"className"
同樣firefox 也不認識"className"所以常用的方法是二者兼備

復制代碼 代碼如下:
elementsetAttribute("class" value); //for firefox
elementsetAttribute("className" value); //for IE

  
方法屬性等問題
例如

復制代碼 代碼如下:
var bar = documentgetElementById("testbt");
barsetAttribute("onclick" "javascript:alert(This is a test!);");

  
這裡利用setAttribute指定e的onclick屬性簡單很好理解
但是IE不支持IE並不是不支持setAttribute這個函數而是不支持用setAttribute設置某些屬性例如對象屬性集合屬性事件屬性也就是說用setAttribute設置style和onclick這些屬性在IE中是行不通的
為達到兼容各種浏覽器的效果可以用點符號法來設置Element的對象屬性集合屬性和事件屬性

復制代碼 代碼如下:

  
documentgetElementById("testbt")className = "bordercss";
documentgetElementById("testbt")stylecssText = "color: #f;";
documentgetElementById("testbt")stylecolor = "#f";
documentgetElementById("testbt")onclick= function () { alert("This is a test!"); }


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19979.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.