这是我的代码:
function getBlock2(EUID, MID, I, ESTS)
{
$('.new-exam').on('click', function() {
$('.new-exam').removeClass('new-exam');
$(this).addClass('new-exam-hover');
$('.tab-item-hover').addClass('tab-item');
$('.tab-item').removeClass('tab-item-hover');
});
$('.tab-item').on('click', function() {
$('.new-exam-hover').addClass('new-exam');
$('.new-exam').removeClass('new-exam-hover');
$('.tab-item-hover').removeClass('tab-item-hover');
$(this).addClass('tab-item-hover');
});
$.ajax({
type: "POST",
url: './exam/x/exams_ajax.exe.php',
data: { EUID : EUID, MID : MID, I : I, ESTS : ESTS },
cache: false,
success: function(data) {
$('.block2').html(data);
}
}); return false;
}
在第一次单击时,ajax部分可以工作,但是删除/ addClass之前不会再次单击。
我似乎无法弄明白为什么,任何帮助都会受到赞赏。感谢。
答案 0 :(得分:0)
您需要将JavaScript移动到文档正文的末尾,或将jQuery代码放在document.ready
块中
$('.new-exam').on('click', function() {
$('.new-exam').removeClass('new-exam');
$(this).addClass('new-exam-hover');
$('.tab-item-hover').addClass('tab-item');
$('.tab-item').removeClass('tab-item-hover');
});
$('.tab-item')
如果在加载正文之前调用此对象,则您的页面还没有任何new-exam
或tab-item
个内容。
答案 1 :(得分:0)
我建议按照其他人的建议添加document.ready
,然后检查您是否按以下顺序进行操作。
getBlock2
函数的js文件getBlock2
函数作为最佳做法,请始终在页面末尾引用您的js文件。
答案 2 :(得分:0)
我设法解决了这个问题。
我在包含JQuery库之前加载了该函数,这就是为什么当我试图将它放入document.ready
块时出现错误的原因。
我已将下一部分移动的订单更改为document.ready
块,现在效果正常!
$('.new-exam').on('click', function() {
$('.new-exam').removeClass('new-exam');
$(this).addClass('new-exam-hover');
$('.tab-item-hover').addClass('tab-item');
$('.tab-item').removeClass('tab-item-hover');
});
$('.tab-item').on('click', function() {
$('.new-exam-hover').addClass('new-exam');
$('.new-exam').removeClass('new-exam-hover');
$('.tab-item-hover').removeClass('tab-item-hover');
$(this).addClass('tab-item-hover');
});
感谢您的帮助。