Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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 jquery:将style.css的链接替换为game.css?_Javascript_Jquery_Css_Replace - Fatal编程技术网

Javascript jquery:将style.css的链接替换为game.css?

Javascript jquery:将style.css的链接替换为game.css?,javascript,jquery,css,replace,Javascript,Jquery,Css,Replace,尝试替换整个页面的内容(有效)+同时使用查询替换指向style.css到game.css的链接 $.get('/games/14', function(data){ var $page = $(data); $('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />'); //$('#layout').empty().append($page); $('body'

尝试替换整个页面的内容(有效)+同时使用查询替换指向style.css到game.css的链接

$.get('/games/14', function(data){  var $page = $(data);
    $('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />');
    //$('#layout').empty().append($page);
    $('body').empty().append($page);
})

以href属性'style.css'作为链接元素的目标,并将该元素的href属性替换为'game.css':

$("link[href='style.css']").attr({href: 'game.css'});

以href属性'style.css'作为链接元素的目标,并将该元素的href属性替换为'game.css':

$("link[href='style.css']").attr({href: 'game.css'});

您可以使用jQuery的
attr()
函数更改href

$("link[href=style.css]").attr('href', 'game.css');

您可能想使用更可靠的选择器,但这样就可以了。

您可以使用jQuery的
attr()
函数来更改href

$("link[href=style.css]").attr('href', 'game.css');

你可能会想使用一个更坚固的选择器,但这样就可以了。

给你,只是测试了一下,效果很好

<!DOCTYPE HTML>
<html>
<head>
    <script src="jquery-1.7.2.min.js"></script>
    <link href="/assets/frontend.css" media="screen" rel="stylesheet" type="text/css" />
</head>
<body>
    <script>
        $("link[href='/assets/frontend.css']").attr('href', '/assets/game.css');
    </script>
</body>
</html>

$(“link[href='/assets/frontend.css']”)attr('href','/assets/game.css');
为了回答您下面的评论,我使用了测试。 使用Console选项卡,我可以看到它首先尝试加载资产/frontend.css,运行JS,然后尝试加载资产/game.css

然后,我在firebug的HTML选项卡中检查了DOM,发现linkelements href属性已经更新


给你,刚刚测试了一下,效果不错

<!DOCTYPE HTML>
<html>
<head>
    <script src="jquery-1.7.2.min.js"></script>
    <link href="/assets/frontend.css" media="screen" rel="stylesheet" type="text/css" />
</head>
<body>
    <script>
        $("link[href='/assets/frontend.css']").attr('href', '/assets/game.css');
    </script>
</body>
</html>

$(“link[href='/assets/frontend.css']”)attr('href','/assets/game.css');
为了回答您下面的评论,我使用了测试。 使用Console选项卡,我可以看到它首先尝试加载资产/frontend.css,运行JS,然后尝试加载资产/game.css

然后,我在firebug的HTML选项卡中检查了DOM,发现linkelements href属性已经更新


href
其他答案中建议的属性替换由不同的浏览器处理不一致(即可能不会触发重新流动/重新渲染)。相反,必须删除原始样式元素,并在其位置插入具有所需
href
的新元素。使用jQuery执行此操作的直观方法:

$('link[href$="style.css"]').replaceWith('<link href="game.css" ... ></link>');
$('link[href$=“style.css”]”)。替换为(“”);

href
其他答案中建议的属性替换由不同的浏览器处理不一致(即可能不会触发重新流动/重新渲染)。相反,必须删除原始样式元素,并在其位置插入具有所需
href
的新元素。使用jQuery执行此操作的直观方法:

$('link[href$="style.css"]').replaceWith('<link href="game.css" ... ></link>');
$('link[href$=“style.css”]”)。替换为(“”);

好的,我自己试过了,但是没有用,我想用“/assets/game.css”替换这个,有什么想法吗?好的,我自己试过了,但是没有用,我想用“/assets/game.css”替换这个,有什么想法吗?上面的语法是正确的。确保jQuery选择器中的“style.css”与您尝试替换的
链接的href匹配,
attr()
调用中的“game.css”与您尝试将其更改为的样式表的地址匹配。另外,确保原始的
链接
元素实际存在。在您的问题编辑中,似乎您已经删除了用于首先插入
链接
元素的调用。上面的语法是正确的。确保jQuery选择器中的“style.css”与您尝试替换的
链接的href匹配,
attr()
调用中的“game.css”与您尝试将其更改为的样式表的地址匹配。另外,确保原始的
链接
元素实际存在。在您的问题编辑中,似乎您已经删除了用于首先插入
链接
元素的调用。对我也不起作用。您是如何测试它的?我已将其另存为.html。在尝试加载页面、查看源代码时,它仍然显示frontend.css。在浏览器中单击“查看源代码”将不会显示页面DOM的当前状态。它将向您显示首先从服务器中提取的文档。即,原始文件,没有使用JavaScript进行任何更改。我建议使用Chrome/Safari Web Inspector或Firefox的Firebug。Edd Morgan是正确的。仅查看源代码不会显示自初始加载DOM以来已更新的任何内容。我已经更新了答案,解释了我是如何为你测试的。我还用firebug检查了它,它似乎确实有效,thx用于完整的编写。我假设html实际上会被更改和重写,但情况似乎并非如此,尽管ineed试图加载游戏。css wich将有力地回答这个问题。我自己也不是一个查询编码员,谢谢你帮我解决这个问题。对我来说也不行。你是怎么测试的?我已将其另存为.html。在尝试加载页面、查看源代码时,它仍然显示frontend.css。在浏览器中单击“查看源代码”将不会显示页面DOM的当前状态。它将向您显示首先从服务器中提取的文档。即,原始文件,没有使用JavaScript进行任何更改。我建议使用Chrome/Safari Web Inspector或Firefox的Firebug。Edd Morgan是正确的。仅查看源代码不会显示自初始加载DOM以来已更新的任何内容。我已经更新了答案,解释了我是如何为你测试的。我还用firebug检查了它,它似乎确实有效,thx用于完整的编写。我假设html实际上会被更改和重写,但情况似乎并非如此,尽管ineed试图加载游戏。css wich将有力地回答这个问题。我自己也不是一个查询编码员,因为我帮助修复了这个问题。哪个浏览器处理的不一致?我刚刚在IE7、IE8、IE9、FF、Safari和Chrome中进行了测试。科迪邦尼:道听途说,但我一直认为IE7和IE8会把事情搞砸