window.location-string的Javascript开关问题
我目前正在做一个简单的ipadwebapp测试件,陷入了一个简单的switch语句中,不知怎的,它不起作用; 我想根据javascripts window.location字符串格式化元素。这可能是尴尬的简单修复;但我还是不明白: 或者窗户的位置有什么特别的吗window.location-string的Javascript开关问题,javascript,switch-statement,window.location,Javascript,Switch Statement,Window.location,我目前正在做一个简单的ipadwebapp测试件,陷入了一个简单的switch语句中,不知怎的,它不起作用; 我想根据javascripts window.location字符串格式化元素。这可能是尴尬的简单修复;但我还是不明白: 或者窗户的位置有什么特别的吗 $(document).ready(function() { path_c = window.location; switch (path_c){ case "http://192.168.1.37/ryba_testground
$(document).ready(function() {
path_c = window.location;
switch (path_c){
case "http://192.168.1.37/ryba_testground/":
$('#menu-item-22').addClass('current_page_item');
alert(path_c);
break;
case "http://192.168.1.37/ryba_testground/?page_id=7":
$('#menu-item-21').addClass('current_page_item');
break;
case "http://192.168.1.37/ryba_testground/?page_id=9":
$('#menu-item-20').addClass('current_page_item');
break;
case "http://192.168.1.37/ryba_testground/?page_id=11":
$('#menu-item-19').addClass('current_page_item');
break;
}
});
谢谢 我想您需要
窗口.location
对象的href
属性
path_c = window.location.href;
完整脚本
$(document).ready(function() {
path_c = window.location.href;
switch (path_c){
case "http://192.168.1.37/ryba_testground/":
$('#menu-item-22').addClass('current_page_item');
alert(path_c);
break;
case "http://192.168.1.37/ryba_testground/?page_id=7":
$('#menu-item-21').addClass('current_page_item');
break;
case "http://192.168.1.37/ryba_testground/?page_id=9":
$('#menu-item-20').addClass('current_page_item');
break;
case "http://192.168.1.37/ryba_testground/?page_id=11":
$('#menu-item-19').addClass('current_page_item');
break;
}
});
示例:window.location返回一个location对象,该对象包含有关文档URL的信息,并提供更改该URL的方法。因此,将其更改为:
var path_c = window.location.href;
代码似乎还可以。尝试
警报(window.location.href)
或console.log(window.location.href)
,然后您可以准确地检查window.location.href为您测试的每个页面获取的内容。这可能会暴露问题。您可以使用window.location.toString()
或window.location.href
,甚至可以避免使用带有对象映射和正则表达式的开关来过滤url中的目标:
var page_idMap = {
'7': '#menu-item-21',
'9': '#menu-item-20',
'11': '#menu-item-19'
}
var id = window.location.href.match(/page_id[=]([0-9]+)/i);
if (!id || !page_idMap(id[1])) {
$('#menu-item-22').addClass('current_page_item');
} else {
$(page_idMap[id[1]]).addClass('current_page_item');
}
或者窗户的位置有什么特别的吗
$(document).ready(function() {
path_c = window.location;
switch (path_c){
case "http://192.168.1.37/ryba_testground/":
$('#menu-item-22').addClass('current_page_item');
alert(path_c);
break;
case "http://192.168.1.37/ryba_testground/?page_id=7":
$('#menu-item-21').addClass('current_page_item');
break;
case "http://192.168.1.37/ryba_testground/?page_id=9":
$('#menu-item-20').addClass('current_page_item');
break;
case "http://192.168.1.37/ryba_testground/?page_id=11":
$('#menu-item-19').addClass('current_page_item');
break;
}
});
它是一个宿主对象,有时行为不可预测。至少,当将其转换为字符串时,它是一个计算结果为href
的对象,但与开关
案例相比,这种情况不会发生。使用
var path_c = window.location.href;
是的,它是一个宿主对象。试试
window.location.href
google可能会有所帮助!还有一个调试器。。。。。