吃药!

  “吃药”是一句上海话,就类似于“被晃掂”的意思。
 
  大家先看看这段代码:
< div  id ="a" >
</ div >
< script  type ="text/javascript" >
var  node = document.createElement( " div " );
node.setAttribute(
" class " , " test " );
var  tn = document.createTextNode( " Test1 " );
node.appendChild(tn);
var  a = document.getElementById( " a " );
a.appendChild(node);
</ script >
  它在FireFox里能够正确运行,一个class为test的div,被正确的显示出来了。但是在IE里面,死活就是不行。
 
  后来我才知道,不能用setAttribute,而是得用setAttributeNode。
 
< div  id ="a" >
</ div >
< script  type ="text/javascript" >
var  node = document.createElement( " div " );
var  attr = document.createAttribute( " class " );
attr.value
= " test " ;
node.setAttributeNode(attr);
var  tn = document.createTextNode( " Test1 " );
node.appendChild(tn);
var  a = document.getElementById( " a " );
a.appendChild(node);
</ script >

 

  犀牛书里是这么说的:“通常,用setAttribute()方法,比用setAttributeNode()简单。但是,要为XML文档定义一个性质包含实体引用的性质时,应该使用setAttributeNode()方法。”

  什么叫XML文档呀?什么叫性质包含实体引用的性质呀?反正我在IE里,搞搞HTML文档,就是出不来,用了setAttributeNode,就成功了。

 

  所以,我“吃了犀牛书的药”了。

你可能感兴趣的:(JavaScript,html,xml,IE,firefox)