我需要将css类添加到所有url中,从example.com/mine/first开始。我知道如何从根地址添加类,但我无法为/ mine / first path执行此操作。
这就是我所拥有的:
<script type="text/javascript">
$(function(){
var pathnameArr = location.pathname.split('/');
switch (pathnameArr[1]) {
case 'mine/first':
$(".container").addClass('dontshow');
break;
case 'mine/second':
$(".container").addClass('dontshow');
break;
}
});
</script>
感谢。
答案 0 :(得分:2)
您是否尝试过indexOf
?
(function(){
var pathnameArr = location.pathname;
if (pathnameArr.indexOf('mine/first')>-1) {
$(".container").addClass('dontshow');
}
if (pathnameArr.indexOf('mine/second')>-1) {
$(".container").addClass('dontshow');
}
});
答案 1 :(得分:1)
由于“/”是您的分隔符,“/”不会出现在pathnameArr
中的任何值中。而是尝试打开最后一个参数:
$(function(){
var pathnameArr = location.pathname.split('/');
switch (pathnameArr.pop()) {
case 'first':
$(".container").addClass('dontshow');
break;
case 'second':
$(".container").addClass('dontshow');
break;
}
});
答案 2 :(得分:1)
测试此方法的有效方法可能是使用RegExp.prototype.test:
$(function() {
if ((/^\/mine\/(first|second?)/).test(window.location.pathname)) {
$('.container').addClass('dontshow');
}
});
答案 3 :(得分:0)
我会使用正则表达式。
$(function () {
var regexp = /^\/mine\/(first|second)/;
if ( regexp.test(location.pathname) ) {
$(".container").addClass('dontshow');
}
});