<!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>km</title>
    </head>
    <body>
    <div id='test'></div>
    <input value="test" type="button" onclick="ss()" />
    <script language="javascript">
window.onload = function(){
var k = {a:'a',b:'b',c:'c',d : 'd'};
var div = document.getElementById("test");
for(var i in k)
{
//alert(i+"========"+k[i]);
div[i]=k[i];
//div.setAttribute(i,k[i]);  //为什么这么写不行
}
}
function ss(){
var div = document.getElementById("test");
alert(div.a);
alert(div.b);
alert(div.c);
alert(div.d);
}
</script>
    </body>
</html>

解决方案 »

  1.   

    FF下要这样<!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>km</title>
        </head>
        <body>
        <div id='test'></div>
        <input value="test" type="button" onclick="ss()" />
        <script language="javascript">
        window.onload = function(){
            var k = {a:'a',b:'b',c:'c',d : 'd'};
            var div = document.getElementById("test");
            for(var i in k)
            {
                //alert(i+"========"+k[i]);
               // div[i]=k[i];
                div.setAttribute(i,k[i]);  //为什么这么写不行
            }
        }
        function ss(){
            var div = document.getElementById("test");
            alert(div.getAttribute("a"));
            alert(div.getAttribute("b"));
            alert(div.getAttribute("c"));
            alert(div.getAttribute("d"));
        }
        </script>
        </body>
    </html>
      

  2.   

    在firefox中操作自定义属性要使用和getAttribute