我有以下问题,如下所示,问题是我无法在案例之间记录或发送变量c。我认为这对你来说很容易,因为你很聪明,我已经检查了jQuery的api文档,但我找不到它。
$('.navbar-nav>li').click(function() {
var c = $(this).attr("class"); //This works, I getting a class name
switch (true) {
case $(this).hasClass('1'):
console.log(c); // Udentified That is a problem
call("x",c);
break;
case $(this).hasClass('2'):
call("x",c);
break;
case $(this).hasClass('3'):
call("x",c);
break;
case $(this).hasClass('4'):
call("x",c);
break;
case $(this).hasClass('5'):
call("x",c);
break;
}
});
function call(o,c){ // Not important part
$.ajax({
url: "/" + o,
cache: false,
async: true,
dataType: "html",
success: function (data) {
$('.content').empty().html(data);
var t = document.location.hash = o;
$('.nav.navbar-nav li').removeClass('active', function(){
var $this = $(this);
if (!$(this).hasClass('active')) {
$(this).addClass('active');
}
});
}
});
}
JSFiddle for you http://jsfiddle.net/9xafe/9/感谢您的回答。
答案 0 :(得分:0)
我终于找到了解决方案:
$('.navbar-nav>li').click(function() {
var c = $(this).attr("class"); //This works i getting a class name
switch (true) {
case $(this).hasClass('1'):
console.log(c); // This dont works on my website
call("domov", c);
break;
case $(this).hasClass('2'):
call("x",c);
break;
case $(this).hasClass('3'):
call("x",c);
break;
case $(this).hasClass('4'):
call("x",c);
break;
case $(this).hasClass('5'):
call("x",c);
break;
}
});
function call(o, c){
console.log(c); // This is working
$.ajax({
url: "/" + o,
cache: false,
async: true,
dataType: "html",
success: function (data) {
$('.content').empty().html(data);
var t = document.location.hash = o;
$('.nav.navbar-nav li.' + c).removeClass('active', function(){
var $this = $(this);
if (!$(this).hasClass('active')) {
$(this).addClass('active');
}
});
}
});
}