function switchView() {
$('.hidden').removeClass("hidden").addClass("visible");
$('.visible').removeClass("visible").addClass("hidden");
}
使用上面的JS语句来切换DIV的显示,但是页面并没有实际显示出来,但是使用下面的语句的话,就可以正常显示,这是为什么?感觉好奇怪
function switchView() {
var hidden = $('.hidden');
var visible = $('.visible');
hidden.removeClass("hidden").addClass("visible");
visible.removeClass("visible").addClass("hidden");
}
$('.hidden').removeClass("hidden").addClass("visible");
$('.visible').removeClass("visible").addClass("hidden");
这里第二步把刚才显示的又搞隐藏了。。。所以你懂得。。
你说到点子上了
$('.hidden').removeClass('hidden')之后DOM对象就丢失了自然无法addClass。而你用var hidden=时,自身拿到的其实就是div的地址了,remove add操作都不会丢失DOM对象。仅个人见解,欢迎评论
删除的是class,为什么DOM对象会丢失呢,能解释一下么
function switchView() {
$('.hidden').addClass("visible").removeClass("hidden");
$('.visible').addClass("hidden").removeClass("visible");
}
这样写估计就可以了
先添加,后修改
不然你先删除了,后面就找不到jquery对象了
你看控制台下看下该元素具体的class到底是怎么变化的。