11

我正在使用带有jsp页面的spring MVC进行演示,我在一个jsp页面中有三个选项卡假设A,BC。在单击 A 选项卡时,会显示 css 文件(例如 aa.css)已加载到带有相应 div 的 head 标记中,并且单击 B 和 C 的方式相同。主要问题是曾经的Three。正在加载CSS文件,它会相互覆盖。我还想从头中删除css文件,该文件已在使用jquery单击上述任何选项卡时加载,如下所示。

  $("#A").click(function(){
     alert("Remove bb and cc.css file form head tag");
  });

任何想法都会对我有很大帮助。

谢谢。

4

4 回答 4

23

给标签id一个。<link>

<link rel="stylesheet" href="style1.css" id="style1" />
<link rel="stylesheet" href="style2.css" id="style2" />

并使用此代码

$("#A").click(function(){
    $("#style1").attr("disabled", "disabled");
});

注意:虽然 HTML 标准中没有 disabled 属性,但 HTMLLinkElement DOM 对象有一个 disabled 属性。

使用 disabled 作为 HTML 属性是非标准的,仅由某些 Microsoft 浏览器使用。不要使用它。要获得类似的效果,请使用以下技术之一:

  • 如果该disabled属性已直接添加到页面上的元素,则不要包含该<link>元素;
  • 通过脚本设置disabledDOM 对象的属性。
于 2012-10-12T11:10:34.597 回答
7

您可以通过禁用 css 来卸载它,如下所示:

$("#A").click(function(){
    $("link[href*=bb.css]").attr("disabled", "disabled");
    $("link[href*=cc.css]").attr("disabled", "disabled");
    $("link[href*=aa.css]").removeAttr("disabled");
});
于 2012-10-12T11:12:53.467 回答
1

我不得不在无法指定 id 的情况下禁用 css 文件,因此要删除以下 css 文件:

<link rel="stylesheet" type="text/css" href="http://localhost:8092/bootstrap/css/bootstrap.min.css" disabled="disabled">

我添加了这个脚本

<script type="text/javascript">
  $(document).ready(function() {
    $('link[href*="bootstrap.min.css"]').attr("disabled", "true");
  }
</script>
于 2020-02-10T12:45:16.093 回答
0

你只需给那个链接标签一个 id 或一个类(比如 id="deleteMe")然后像下面这样删除它:

$('head').find('link#deleteMe').remove();  

因此,在您的情况下,当您像这样链接它们时,将 id 添加到每个文件中:

<link id="aa" rel="stylesheet" href="First.css" type="text/css" />  
<link id="bb" rel="stylesheet" href="Second.css" type="text/css" />  
<link id="bb" rel="stylesheet" href="Third.css" type="text/css" />

现在要仅删除 Second.css、Third.css,您必须像这样编写 jQuery:

(function ($) {  
    $('head').find('link#aa').remove();  
    $('head').find('link#bb').remove();  
})(jQuery);
于 2018-02-03T14:35:17.227 回答