0

我是 jquery 的新手,我试图在加载特定页面时关闭特定的 css 表。这是我一直在使用的代码,我不确定它是否正确。

if(location.pathname=="/mycart") >= 0){

    $('link[rel=stylesheet][src~="/media/css/responsive.css"]').remove();

}
4

2 回答 2

1

问题可能是路径名检查......另外,不要删除,而是尝试禁用样式表:

if (location.pathname.indexOf('/mycart') >= 0) {
    $('link[href*="/media/css/responsive.css"]').prop('disable', true);
}

编辑:~=选择器查找以空格分隔的单词,因此请改用*=选择器

更新(完整代码)

<script>
$(function () {
  if (location.pathname.indexOf('/mycart') >= 0) {
    $('link[href*="/media/css/responsive.css"]').prop('disable', true);
  }
});
</script>
于 2013-05-21T01:18:32.997 回答
1

与其使动态样式表“取消”使事情复杂化,不如简单地围绕页面上更改的对象创建一个包装器类,并定义两组选择器,以防包装器有或没有特定的班级。

假设这是您的 HTML 代码。

<div class="my_cart">
    <!-- Lots of shiny elements defined inside your cart... -->
</div>

现在,您只需添加两组样式表,具体取决于您在不同情况下实际希望如何设置购物车的样式。

.my_cart input {
    ...
}

.my_cart p {
    ...
}
/* The following two selectors will be applied to .my_cart ONLY if it also has the .disabled class assigned to it. */
.my_cart.disabled input {
    ...
}

.my_cart.disabled p {
    ...
}

现在你所要做的就是跟随。

$(document).ready(function(){
    if(location.pathname == "/mycart"){
        $('.my_cart').addClass('.disabled');
    }
});

就那么简单。

于 2013-05-21T01:43:40.103 回答