Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么不是';我使用document.stylesheets的尝试不起作用吗?_Javascript_Html_Css - Fatal编程技术网

Javascript 为什么不是';我使用document.stylesheets的尝试不起作用吗?

Javascript 为什么不是';我使用document.stylesheets的尝试不起作用吗?,javascript,html,css,Javascript,Html,Css,我试图通过理解如何使用香草javascript来理解jquery如何修改样式表,但是我找不到很多关于这个主题的资源。我已经检查了有关该主题的堆栈溢出页面,但我无法找出我做错了什么 我有一个简单的html页面和一个简单的样式表,html页面中的javascript在一个脚本标记中 html页面 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <l

我试图通过理解如何使用香草javascript来理解jquery如何修改样式表,但是我找不到很多关于这个主题的资源。我已经检查了有关该主题的堆栈溢出页面,但我无法找出我做错了什么

我有一个简单的html页面和一个简单的样式表,html页面中的javascript在一个脚本标记中

html页面

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
         <link rel="stylesheet" href="main.css">
    </head>
    <body>
        <div class="parent"></div>
        <script>
            let parent=document.getElementsByClassName('parent')[0];
            for(let i=0; i<10;i++){
                let child=document.createElement('div');
                let id= "i"+ i.toString();
                child.setAttribute("id",id);
                parent.appendChild(child);
            }
        </script>
    </body>
</html>
控制台命令

当我设置样式以拉出样式表对象时,在控制台中,我得到了对象,即样式表,但cssRules属性设置为null,其中没有样式表中的任何规则。我不明白这是为什么

比如说

 document.styleSheets //returns StyleSheetList {0: CSSStyleSheet, length: 1}

document.styleSheets[0] /*returns CSSStyleSheet {ownerRule: null, cssRules: 
   null, rules: null, type: "text/css", href:
   "file:///C:/Users/brand/Documents/test/main.css"…}*/

对样式表数据的访问受到限制。大多数浏览器认为任何<代码>文件:///< /COD> URL都在不同的原点。


您需要使用HTTP或HTTPS访问文档,并使样式表位于同一来源。

对样式表数据的访问受限制。大多数浏览器认为任何<代码>文件:///< /COD> URL都在不同的原点。


您需要使用HTTP或HTTPS访问文档,并使样式表位于同一来源。

问题似乎与此相关:


解决方案是通过Apache/XAMPP等web服务器查看站点。

问题似乎与此相关:


解决方案是通过Apache/XAMPP这样的web服务器查看网站。

无法复制,对我来说效果很好。事实上:Firefox总是显示规则,Chrome确实不会。如果文件是通过file:///打开的,我必须通过web服务器打开它才能打开work@ChrisG,您可以将其作为答案发布。所以,对于离线测试,你必须安装XAMP、Wamp…或类似的东西…无法复制,对我来说很好。事实上:Firefox总是显示规则,Chrome确实没有。如果文件是通过file:///打开的,我必须通过web服务器打开它,才能进行测试work@ChrisG,您可以将其作为答案发布。所以,对于离线测试,您必须安装XAMP、Wamp…或类似的东西。。。
 document.styleSheets //returns StyleSheetList {0: CSSStyleSheet, length: 1}

document.styleSheets[0] /*returns CSSStyleSheet {ownerRule: null, cssRules: 
   null, rules: null, type: "text/css", href:
   "file:///C:/Users/brand/Documents/test/main.css"…}*/