Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 使DIV加载CSS文件_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使DIV加载CSS文件

Javascript 使DIV加载CSS文件,javascript,jquery,html,css,Javascript,Jquery,Html,Css,对于我正在编写的程序,我有一个主导航页面,用户登录系统后可以在该页面登陆 在这个屏幕上,我使用2个DIV的一个DIV作为导航条,另一个DIV用作iFrame 我正在使用w3.css库创建导航栏,但当我在第二个div中加载目标文件时,这实际上会弄乱我的css主css文件。但是如果我使用我确实不喜欢的iFrame,它可以正常工作 如果我可以在div加载目标链接文件时加载我的CSS文件,那么问题就会得到解决 所以我的问题是,当外部文件加载时,如何将CSS文件加载到div中 这是我的HTML: <

对于我正在编写的程序,我有一个主导航页面,用户登录系统后可以在该页面登陆

在这个屏幕上,我使用2个DIV的一个DIV作为导航条,另一个DIV用作iFrame

我正在使用w3.css库创建导航栏,但当我在第二个div中加载目标文件时,这实际上会弄乱我的css主css文件。但是如果我使用我确实不喜欢的iFrame,它可以正常工作

如果我可以在div加载目标链接文件时加载我的CSS文件,那么问题就会得到解决

所以我的问题是,当外部文件加载时,如何将CSS文件加载到div中

这是我的HTML:

<html>
<head>
<title>Time Sheet</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<!-- Style Sheets -->
<link rel="stylesheet" type="text/css" href="../../CSS/w3.css">
<link rel="stylesheet" type="text/css" href="../../CSS/main.css">


<!-- Java Scripts -->
<script language="JavaScript" type="text/javascript" src="../../jScripts/jquery-3.2.0.min.js"></script>
<script language="javascript" type="text/javascript" src="../../jScripts/navBar.js"></script>
<script language="JavaScript" type="text/javascript" src="../../jScripts/fileLoader.js"></script>

    </head>
<body>
<div class="w3-bar w3-light-gray w3-card-4" style="z-index: 991">
<a href="listUser.php" target="container" id="main" class="w3-bar-item w3-button w3-hover-light-blue">Home</a>
<a href="#" class="w3-bar-item w3-button w3-hover-light-blue">Link 1</a>
<a href="#" class="w3-bar-item w3-button w3-hover-light-blue">Link 2</a>
<a href="#" class="w3-bar-item w3-button w3-hover-light-blue w3-right">Link 3</a>
</div>
<div id="My-container">
<!--  All pages load here  -->
</div>


</body>
</html>
文件加载程序JavaScript:

$(document).ready(function(){

    $('#main').click(function () {
        $('#My-container').load('listUser.php');
    })

});
$(document).ready(function(){

    if($("#my-container").size>0){
        if (document.createStyleSheet){
            document.createStyleSheet('../../CSS/main.css');
        }
        else {
            $("head").append($("<link rel='stylesheet' href='../../CSS/main.css' type='text/css' media='screen' />"));
        }
    }
});
$(文档).ready(函数(){
如果($(“#我的容器”).size>0){
if(document.createStyleSheet){
document.createStyleSheet('../../CSS/main.CSS');
}
否则{
$(“head”)。追加($(“”);
}
}
});
上面的文件加载器函数不是我的,我在一个网站上找到了它,并试图使用它,但当我这样做时,控制台抛出一个错误,说“大小”不是一个函数。当我把它改为length时,错误消失了,但代码不起作用

如果有人问你为什么不把导航条复制粘贴到所有文件上,我的回答是我很懒


无论如何,请给我指示灯。

您似乎想检查特定的dom是否存在。为此,您需要使用
length
。dom id似乎是
mycontainer
,但不是
mycontainer

你可以试试下面的方法

if($("#My-container").length>0){
// rest of the code
}

因此,您希望将css与在iframe ie中加载的文件一起加载。
listUser.php
?@eventhroude是的,它与链接到主页的css相同,但在div中不起作用。我没有使用iFrames。您能看到css文件正在dev tools的网络选项卡上加载吗?也。。。一个额外的问题:编辑:既然已经在index.html中有main.css作为旁注,为什么还要添加它呢。如果某个东西看起来和感觉都设计过度了,它可能是……那么只需将样式附加到主文档中即可