javascript - jquery ajax 改变样式表

标签 javascript jquery html css ajax

<分区>


想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它.

关闭 9 年前

我正在看这两个页面:

  1. > http://www.tipue.com/search/demos/static/
  2. > http://www.google.com

页面样式发生变化,即使页面仅通过 AJAX 更新。所以我的问题是,在 AJAX 请求之后更改页面外观的最合规和最有效的方法是什么。是关于切换两个样式表,还是使用 JavaScript 覆盖单个样式表的内容?

最佳答案

合规的方法是间接更改样式,同时将样式与功能分开。这是通过为每个所需状态添加 css 规则,然后使用您的 javascript 逻辑(在 ajax 调用之后)切换类来实现的:

$('.js-dynamic-entity').addClass('huge');

很多时候我们无法做到这一点,例如,当您必须在一个很大的范围内设置一个非常具体的值时,让我们说一个元素的高度在 50 到 500 像素之间。在这种情况下,您将使用 jquery css 方法,这也很常见:

$('.js-dynamic-entity').css({height: 457});

如果您想在 ajax 调用后做大量的样式设置工作,那么您也可以考虑像这样在每个 jquery 中加载一个样式表:

$('<style />').appendTo('body').html(dynamicallyLoadedSheet);

就我个人而言,后一个版本对我来说意义不大,除非我们谈论的是仅在特殊情况下使用的样式上的巨大差异。

关于javascript - jquery ajax 改变样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18684800/

上一篇:javascript - 是否应该将 class 或 id 添加到 HTML 文档以获得更好的结构?

下一篇:html - 元素上的 CSS 动态宽度

相关文章:

单击时将新内容放入 div 的 Javascript - 自动向下滚动到新内容不起作用

javascript - 仅更改所选选项的颜色,但不是下拉列表中的所有选项

javascript - 如何在 Facebook 上发布自定义 Web URL 链接?

javascript - jQuery 轮播 "this"上下文未传递到 .animate 回调中

javascript - 使用过渡功能时如何使div元素淡出变慢

jquery - .触发('click');没有触发

javascript - 根据月份突出显示行

php - 错误获取数组

javascript - d3js selectAll 元素的 CSS 样式?

html - 是否可以在 UIWebView( native 应用程序)和 safari 之间共享 locastorage 数据?