Bib*_*hoo 5 javascript css jquery
在我的项目中,我必须在页面加载后动态加载 JS 和 CSS 文件。通过使用下面的代码,我可以添加和删除 js 文件但是通过删除前一个添加新文件后,前一个文件没有显示在标题中但是当我运行代码时,两个 js 文件代码都被执行。不知道如何完全删除文件,有人可以帮助我。为此,代码是。
在视图页面标题中:-
<link rel="stylesheet" id="videoCss" />
<script id="videojs"></script>
Run Code Online (Sandbox Code Playgroud)
用于动态加载 JS 和 CSS 文件的 Jquery:-
function addRemoveJsCssFile(filename, filetype)
{
var fileref='';
if (filetype == "js") { //if filename is a external JavaScript file
document.getElementById("videojs").remove();
fileref=document.createElement('script');
fileref.setAttribute("type", "text/javascript");
fileref.setAttribute("src", filename);
fileref.setAttribute("id", "videojs");
}
else if (filetype == "css") { //if filename is an external CSS file
document.getElementById("videoCss").remove();
fileref = document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", filename);
fileref.setAttribute("id", "videoCss");
}
if (typeof fileref != "undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
Run Code Online (Sandbox Code Playgroud)
在此函数中,我们必须传递文件位置和文件类型,即 css 或 js 以动态添加文件。谢谢。
小智 1
与其删除整个元素并创建新元素,不如尝试更改现有元素中的“src”属性?
现在
document.getElementById("videojs").remove();
fileref=document.createElement('script');
fileref.setAttribute("type", "text/javascript");
fileref.setAttribute("src", filename);
fileref.setAttribute("id", "videojs");
Run Code Online (Sandbox Code Playgroud)
建议
document.getElementById("videojs").setAttribute("src", filename);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7677 次 |
| 最近记录: |