这些天我们不是在使用jss吗?

时间:2014-12-18 10:40:58

标签: javascript css

来自:http://en.wikipedia.org/wiki/JavaScript_Style_Sheets

  

Javascript样式表仅由Netscape 4.x(4.0-4.8)支持,但没有更高版本。没有其他网络浏览器集成JSSS。

     

使用JavaScript代码作为样式表,JSSS通过修改document.tags对象的属性来设置单个元素的样式。例如,CSS:

     

h1 {font-size:20pt; }

     

等同于JSSS:

     

document.tags.H1.fontSize =" 20pt";

     

JSSS元素名称区分大小写。

但我们仍然使用这样但为什么这说jsss没有集成?那么,这几天有什么用?

4 个答案:

答案 0 :(得分:7)

  

但我们仍然这样使用......

不,我们没有。 (在您的浏览器控制台中,键入typeof document.tags并查看您获得的内容...... :-))

我们使用:

  • CSS样式表(<style>...</style><link rel="stylesheet" href="...">

  • CSSStyleSheet个对象,如果我们需要从JavaScript处理这些样式

  • 如果我们需要从JavaScript处理该元素的样式,则元素的style属性:

    document.getElementById("some-element").style.fontSize = "20pt";
    

这些与旧的JSSS完全不同。

答案 1 :(得分:3)

使用 JSSS 通过DOM 操作CSS的 JavaScript令人困惑。它们是不同的东西。

JSSS的语法是JavaScript(因此得名),但访问元素的方法不同(它不使用DOM)。 (并且JSS不是动态的)。

答案 2 :(得分:0)

我不是100%我理解你的问题,但如果你问如何以大多数(如果不是所有浏览器)支持的方式编辑Javascript中的样式,你可以将它们设置为内联DOM元素使用style属性,或者懒惰地将样式表注入浏览器。

https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.style https://github.com/filamentgroup/loadCSS

答案 3 :(得分:0)

我认为你在这里缺少的区别是JSSS通过document.tags设置样式,而不是直接在元素本身(或通过CSSStyleSheet.insertRule方法)。

在每个现代浏览器中,您都会看到document.tagsundefined