我是 jquery 的新手,我试图在加载特定页面时关闭特定的 css 表。这是我一直在使用的代码,我不确定它是否正确。
if(location.pathname=="/mycart") >= 0){
$('link[rel=stylesheet][src~="/media/css/responsive.css"]').remove();
}
我是 jquery 的新手,我试图在加载特定页面时关闭特定的 css 表。这是我一直在使用的代码,我不确定它是否正确。
if(location.pathname=="/mycart") >= 0){
$('link[rel=stylesheet][src~="/media/css/responsive.css"]').remove();
}
问题可能是路径名检查......另外,不要删除,而是尝试禁用样式表:
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>
与其使动态样式表“取消”使事情复杂化,不如简单地围绕页面上更改的对象创建一个包装器类,并定义两组选择器,以防包装器有或没有特定的班级。
假设这是您的 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');
}
});
就那么简单。