一般再html中有-的,在js中-去掉,后面的那个词大写

解决方案 »

  1.   

    http://msdn.microsoft.com/library/default.asp?url=/workshop/author/css/reference/css_ref_entry.asp
      

  2.   

    我觉得style对象或者其他的对象是否会存在某个属性或者方法,可以直接取得css规则名称字符串呢?如果用字符串转换fontSize到font-size这种方法的话,有些不太可靠,并且感觉上不是那么十分优雅。
      

  3.   

    《JavaScript权威指南》第376页第18.3.1节有详细介绍。摘抄:
    “因此,CSS2Properties对象的属性名和真正的CSS性质名有点不同。如果一个CSS性质名含有一个或多个连字符,那么CSS2Properties属性名删除了连字符,且原来紧接在连字符后的字母改为大写。这样,性质border-left-width可以通过borderLeftWidth属性访问,可以用下列代码访问font-family性质:element.style.fontFamily="sans-serif";
      

  4.   

    请再次检查你的问题
    你只是想设置element的css属性
    你通过javascritp修改后
    会自动地生成html代码
    自己根本不需要输出直接的raw的html代码
    这是dom的概念所以你的代码是可以运行的
    不需要做任何更改q
      

  5.   

    to turtlevan:
    实际上,我需要实现的是一个css文件生成功能,用户可以自行编写dom中每一个元素的style,我需要把这些style收集起来,生成一个user.css文件存放到客户端,以后用户可以直接使用这个css文件。这也就是我所提出的这个问题的原因了。至于为什么要放在客户端,这个就不属于此问题的范畴了,呵呵。这个帖子再挂一天,如果明天还是没有答案,就结帖。
      

  6.   

    <!--
    我觉得style对象或者其他的对象是否会存在某个属性或者方法,可以直接取得css规则名称字符串呢?如果用字符串转换fontSize到font-size这种方法的话,有些不太可靠,并且感觉上不是那么十分优雅。
    -->是没有这种方法的
      

  7.   

    js读出的只能是fontSize样式的,要生成css样式,如font-size
    只能用自己"不优雅"的转换了.用正则也不难.
    如下:
    var elmn=document.createElement("P");
    for(i in elmn.style){
    var ruleName=i.replace(/([A-Z])/g, "-$1");;
    var ruleValue=elmn.style[i];
                      document.write(ruleName + ' => ' + ruleValue + "<br>");
    }此外,若被取样式的元素已经放入页面结构,建议用currentStyle代替style取样式内容,代码如下:<BODY>
    <p id=pid style="text-Decoration:underline">hello</p>
    <HR>
    <SCRIPT LANGUAGE="JavaScript">
    var aryelm = document.getElementById("pid");
    for(i in aryelm.currentStyle)
    {
    var ruleName = i;
    var ruleValue = aryelm.currentStyle[i]; var cssRuleName = ruleName.replace(/([A-Z])/g, "-$1");
    document.write(cssRuleName + ' => ' + ruleValue + "<br>");
    }
    </SCRIPT>
    </BODY>
    备注:
    需要注意,有及少数样式不按
    《JavaScript权威指南》第376页第18.3.1节所描述
    如:
    style里的float => js里的styleFloat