重写html行的Javascript函数

重写html行的Javascript函数,javascript,html,css,Javascript,Html,Css,有一个网站引用了一个.js文件和一个.css文件来格式化页面并向页面添加动态元素。该网站提供了一个选项,可以引用我在谷歌代码库中托管的那些.js和.css文件的我自己的版本,然后改用它们 我正在尝试添加另一个用于移动浏览的css文件。目前我在当前css中使用@media参数,但我希望有两个单独的css文件 是否有一些代码可以添加到我的.js文件中以覆盖html,例如: <html> <head> <link href="desktop.css" ... 请

有一个网站引用了一个.js文件和一个.css文件来格式化页面并向页面添加动态元素。该网站提供了一个选项,可以引用我在谷歌代码库中托管的那些.js和.css文件的我自己的版本,然后改用它们

我正在尝试添加另一个用于移动浏览的css文件。目前我在当前css中使用@media参数,但我希望有两个单独的css文件

是否有一些代码可以添加到我的.js文件中以覆盖html,例如:

<html>
 <head>
  <link href="desktop.css" ...

请试试这个

if (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {
        document.write('<link rel="stylesheet" type="text/css" href="mobile.css">');
    }
    else {
        document.write('<link rel="stylesheet" type="text/css" href="desktop.css">');
    }
if(/Android | webOS | iPhone | iPad | iPod | BlackBerry/i.test(navigator.userAgent)){
文件。写(“”);
}
否则{
文件。写(“”);
}

是的,使用CSS
@媒体
查询

您可以在
@导入
规则上使用媒体查询:


是否有一些代码可以添加到.js文件中以覆盖html

当然,您可以覆盖html,但有什么意义呢?太晚了,浏览器已经加载并应用了desktop.css

如果要维护两个单独的css文件,则需要删除静态链接标记,并根据浏览器检测动态应用正确的样式表:

var stylesheet=document.createElement("link");
stylesheet.type="text/css";
stylesheet.rel="stylesheet";
if (// detect mobile browser) {
    stylesheet.href=mobile.css;
}
else {
    stylesheet.href=desktop.css;
}
document.head.appendChild(stylesheet);

在您的
链接中使用
标记。OP似乎无法更改HTML源代码。。。至少我是这样理解这个问题的。此外,OP提到他在使用媒体辩论。这和媒体查询是一样的吗?你的代码可能可以更改html,但它不会改变desktop.css已经加载并应用到页面的事实。我现在明白了,是的,css在js之前加载,所以我现在正在尝试@import…如果在包含css文件之后包含OP的JavaScript,他可能需要操作DOM中的现有元素,而不是简单地附加到文档中……不幸的是,js是在之后加载的,但谢谢!抱歉,我在帖子中没有说得更清楚。只需“@import url(desktop.css)”就可以了,但是添加任何条件之后都不会加载css。我使用谷歌控制台在屏幕宽度上移动,但没有成功,所以可能出现语法错误?谢谢它将放在你的.js文件中。
var stylesheet=document.createElement("link");
stylesheet.type="text/css";
stylesheet.rel="stylesheet";
if (// detect mobile browser) {
    stylesheet.href=mobile.css;
}
else {
    stylesheet.href=desktop.css;
}
document.head.appendChild(stylesheet);