【问题标题】:Remove style sheet in thickbox using jquery使用jquery删除thickbox中的样式表
【发布时间】:2010-01-26 06:46:16
【问题描述】:

我的 asp.net mvc (C#) 应用程序中有一个部分视图(Partial.ascx)、两个母版页(Master1.MasterMaster2.Master)和两个视图(Page1.aspxPage2.aspx)。我为每个母版页引用了不同的样式表。

当我在母版页为Master1.Master 的视图(Page1.aspx) 中将部分视图 (Partial.ascx) 显示为粗框时,我需要使用引用 Master2.Master 的样式表覆盖粗框内元素的样式,而不影响Page1.aspx 元素的样式。

我试过这样:

$("link[href*='style1.css']").remove();

但是这个查询的问题是它反映在Page1.aspx视图中,当我关闭厚框或页面的阴影视图时,该页面的样式消失了。

如何在不影响主视图元素的情况下使用 jquery 覆盖厚框内元素的样式表?

【问题讨论】:

    标签: jquery asp.net-mvc stylesheet thickbox


    【解决方案1】:

    您是否尝试过仅删除其自身的厚框内的样式?像这样#thickbox 是thickbox 的ID。

    $("link[href*='style1.css']", '#thickbox').remove();

    【讨论】:

    • 我没有在厚框内指定样式表。由于thickbox 从主页获取样式,我需要通过指定样式表来覆盖thickbox 内的样式。
    【解决方案2】:

    当浏览器加载页面时,在页面中设置和使用样式。页面渲染后,删除链接元素不会再有任何影响,因为所有的css规则都已经在显示的页面中使用了。

    您可以做的是重构样式表。将其分离成不同的css文件,然后根据游览需要加载到视图中。在PHP中,我可以通过简单的if来检测页面是AJAX加载的还是正常请求加载的,这样我就可以根据自己的需要加载不同的CSS了。我相信在 asp.net 中应该有简单的方法来做同样的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-28
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-17
      • 2011-03-12
      • 1970-01-01
      相关资源
      最近更新 更多