微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用jQuery从一种样式表更改为另一种样式表?

如何解决如何使用jQuery从一种样式表更改为另一种样式表?

| 我想在用户单击链接时在两个不同的.css文件之间更改页面的样式。 单击链接后,我希望加载新样式。再次单击它时,我希望加载认样式。 (换句话说,我希望能够在click事件中在两个不同的样式表之间切换)。
$(function(){
   $(\'.default\').click(function(){
      $(\'#link\').attr(\'href\',\'defaultStyle\' );
      $(\'.default\').addClass(\'new\').removeClass(\'default\');
   });

});
$(function(){
   $(\'.new\').click(function(){
      $(\'#link\').attr(\'href\',\'secondStyle\' );
      $(\'.new\').addClass(\'default\').removeClass(\'new\');
   });
});
上面的代码一次更改了样式,但是第二个块不起作用。 我怎样才能解决这个问题? TIA。     

解决方法

        尝试
$(\'.new\').live(\'click\',function(){});
http://api.jquery.com/live/     ,        这是:
  $(\'.new\').addClass(\'default\').removeClass(\'reader\');
应该是:
  $(\'.new\').addClass(\'default\').removeClass(\'new\');
另外,您是否检查过firefox / fiddler / etc以查看浏览器是否正在尝试下载第二个样式表?     ,        单击处理程序将分配给当前存在的元素。当您执行第二个程序段时,only4ѭ尚不存在(仅在单击
.default
之后)。 只需切换类:
$(function(){
   $(\'.default\').click(function(){
      $(\'#link\').attr(\'href\',function(i,v) {
           return v === \'defaultStyle\' ? \'secondStyle\' : \'defaultStyle\';
      });

      $(this).toggleClass(\'new\').toggleClass(\'default\');
   });
});
    ,        原因是jQuery选择器仅在首次执行JavaScript时才使用.new查找元素。 您应该研究jQuery.live()http://api.jquery.com/live/     ,        您可以使用jquery轻松完成此操作,这是一个示例,
$(document).ready(function(){

  $(\'#blue\').click(function(event) {
    $(\'#text\').css(\'background-color\',\'blue\');
  });

  $(\'#grey\').click(function(event) {
    $(\'#text\').css(\'background-color\',\'grey\');
  });

});
<div id=\"text\" style=\"background-color:grey;\" >Hello World</div>
<div id=\"blue\" style=\"cursor:pointer\" >blue</div>
<div id=\"grey\" style=\"cursor:pointer\" >grey</div>
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。