Javascript 这是表示此函数中无值的正确方法吗?
我有一个手风琴,通过将此字符串附加到URLJavascript 这是表示此函数中无值的正确方法吗?,javascript,jquery,Javascript,Jquery,我有一个手风琴,通过将此字符串附加到URL?panel=0 farfegnugen = jQuery.noConflict(); farfegnugen(document).ready(function($) { var defaultPanel = parseInt(getParam('panel')); farfegnugen("#st-accordion").accordion({ open:
?panel=0
farfegnugen = jQuery.noConflict();
farfegnugen(document).ready(function($) {
var defaultPanel = parseInt(getParam('panel'));
farfegnugen("#st-accordion").accordion({
open: defaultPanel
});
function getParam(name) {
var query = location.search.substring(1);
if (query.length) {
var parts = query.split('&');
for (var i = 0; i < parts.length; i++) {
var pos = parts[i].indexOf('=');
if (parts[i].substring(0, pos) == name) {
return parts[i].substring(pos + 1);
}
}
} else if(query.length === undefined){
window.location.href = "#topOfPage";
}
return false;
}
});
所以如果(query.length==undefined)因为你什么都没说就起作用,那么是否会起作用?
另外,我也尝试了null
,但没有成功 试着在控制台中运行location.search.substring(1).length
,您将看到问题所在。它等于未定义的0
。在您的情况下,您不需要else如果
,您可以简单地使用else
长度是一个数字,因此与零比较谢谢!因此,在我的条件中,我将其更改为if(query.length!==0)
这表示如果不是零,则执行正常功能,但如果是零(例如,else)window.location.href=“#topOfPage”
奇怪的是,这不起作用。如果(query.length)
我尝试了,你可以保留原始的条件,然后是else{window.location.href=“#topOfPage”;}
并且没有骰子。我不知道是不是锚?
正确吗?
<a id="topOfPage" href='#'></a>