是否有可能只使用ajax更新css而不刷新标签,以及如何更新


Is it possible to update only css using ajax without refreshing the tags and how?

是否有任何方法可以使用php或ajax仅更新页面内容样式而不刷新内容?这里的内容是指html标签和它的内容,除了为它定义的样式。样式应该来自css,并且应该使用类名和id链接到标签。

如果可能的话,任何人都请指定一个提示或方法来完成这一点。最好只使用php/ajax和css,不要使用其他语言,如javascript或jQuery。

我知道如何用jQuery和javascript实现这一点。

简而言之,我需要使用ajax或php动态地更新html标签的css(而不是标签)。这可能吗?如果有,请告诉我怎么做?

PHP和AJAX是我将用来显示内容的语言,稍后将使用AJAX来更新内容。PHP可以用来更新或识别类名、样式表等

如果您想动态更改样式表而不重新加载页面,则必须使用JavaScript。

要获得最简单的答案,请参见SO上的这个问题:

添加一个id属性到CSS链接标签,使用JavaScript操作标签:

<link id="cssfile" href="css/avocado.css" type="text/css" rel="stylesheet">
设置href属性的Javascript类似于:
document.getElementById('cssfile').href = 'css/carrot.css';

颜色可以由用户调整,通过点击链接:

<a href="#" onclick="document.getElementById('cssfile').href='css/carrot.css';">Carrots</a>

通过改变媒体类型,用户还可以快速改变打印布局,手机(或平板电脑)上的首选布局,等等。

这个解决方案不需要jQuery。

这个网站也有一个很好的脚本你可以使用。它增加了一些复杂性和将用户使用的样式表保存在cookie

中的功能。

如果你正在使用jQuery,你可以使用这个插件

这个插件是为了模仿jQuery的jQuery.get() AJAX调用,使用起来和

一样简单
 $.getCSS("getCSS.css");

查看文档获取更多信息。


此外,这个SO答案是一个非常好的资源,并提供了如何创建动态样式表切换器的一步一步的教程。

AJAX =异步JavaScript和XML。

AJAX不是一种新的编程语言,而是一种使用现有标准的新方法。

AJAX是一门与服务器交换数据和更新网页部分内容的艺术,无需重新加载整个页面。(http://www.w3schools.com/ajax/)

我认为你在使用javsScript和jquery时感到困惑,但你可以使用($(document).ready(function(){}); or ($(function(){ });,以赶上任何事件并做出相应的更改。