使用jquery删除thickbox中的样式表

时间:2010-01-26 06:46:16

标签: jquery asp.net-mvc stylesheet thickbox

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

当我将部分视图(Partial.ascx)显示为主页面为Page1.aspx的视图(Master1.Master)中的厚箱时,我需要用样式覆盖厚箱内的元素样式表格引用Master2.Master,不影响Page1.aspx元素的样式。

我试过了:

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

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

如何在不影响主View元素的情况下使用jquery覆盖thickbox中元素的样式表?

2 个答案:

答案 0 :(得分:0)

您是否尝试过仅移除厚盒内的样式?像这样的东西,其中#thickbox是厚箱的ID。

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

答案 1 :(得分:0)

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

您可以做的是重构样式表。将其分成不同的css文件,然后根据游览需要加载视图。在PHP中,我可以使用简单的if来检测是否由AJAX加载页面或正常请求,因此我可以根据我的需要加载不同的CSS。我相信应该有简单的方法在asp.net中做同样的事情。