如何使用jquery避免CSS冲突?

时间:2013-10-28 09:47:10

标签: jquery html css

我遇到了CSS冲突问题。 以下是详细信息:

我有一个搜索结果页面,其中的产品以网格格式显示。 CSS的网格搜索结果是“product-grid.css”,它包含在页面的标题中。在这个页面上,我有一个按钮,点击它时会以列表格式显示搜索结果。列表格式的css是“product-list.css”,它也包含在页面的head标签中。

现在,HTML人员在product-grid.css和product-list.css中使类的名称相同。

我想要的是,当我以网格样式查看页面时,只有product-grid.css应该应用于页面的各个部分。当我以列表格式查看页面时,应禁用product-grid.css,并且product-list.css应该应用于整个页面。

我尝试过使用jquery启用和禁用css文件,但可能是我做错了。此外,当页面加载时,两个css文件在head标签中都处于活动状态,并且由于类名称冲突,即使没有转移到其他视图,页面也会出现格式错误。

任何帮助我该怎么办?

2 个答案:

答案 0 :(得分:4)

这是我的解决方案:

  

HTML人应该更改类名。目前的方法不可接受

使用CSS文件加载变通办法 abracadabras 只是因为某些人懒得分开页面的重要部分只是愚蠢 ,恕我直言。

答案 1 :(得分:2)

创建一个变量,以网格样式或列表样式决定页面正在查看的条件。在该变量的基础上使用下面的代码。

根据您的情况,您需要验证是否以网格样式查看页面然后添加网格 css喜欢

$('head').append('<link rel="stylesheet" type="text/css" href="product-grid.css.css">');

其他

$('head').append('<link rel="stylesheet" type="text/css" href="product-list.css">');

参考:Can I load external stylesheets on request?