我有一个问题,为什么这个在IE 8中工作
$(function() {
$('.title .hide').showContent();
});
$.fn.showContent = function() {
return this.each(function() {
var box = $(this);
var content = $(this).parent().next('.content');
box.toggle(function() {
content.slideUp(500);
$(this).css('background-position', 'right bottom');
}, function() {
content.slideDown(500);
$(this).css('background-position', 'right top');
});
});
};
这不起作用?
$(function() {
$('.title .hide.show').hideContent();
});
$.fn.hideContent = function() {
return this.each(function() {
var box = $(this);
var content = $(this).parent().next('.content');
box.toggle(function() {
content.slideDown(500);
$(this).css('background-position', 'right top');
}, function() {
content.slideUp(500);
$(this).css('background-position', 'right bottom');
});
});
};
我希望这两个选项有效,但我不知道为什么第二个选项在IE 8中不起作用,我希望有些人可以帮助我。
答案 0 :(得分:1)
Jquery内置了hide()和show()等函数
试试吧。
例如:$('input#id').hide();
使用类选择器也不是一个好主意,因为性能会受到影响。
尝试使用id。
答案 1 :(得分:0)
如果您使用的是jquery,请使用以下javascript, 它可能对你有用
jQuery(this).hide();
jQuery(this).show();
答案 2 :(得分:-1)
看起来你只是为一个带有show类的元素调用hideContent(),这个类属于一个标题类中的hide类。 .hide.show是两个嵌套的不同类。
.title伪 。隐藏 .show
jQuery正在.title
中的.hide中寻找带有.show的元素如果您正在切换而不是将hideContent()的第二行替换为:
$('.title .show').hideContent();
$('.title .hide').hideContent();
答案 3 :(得分:-1)
我猜这是IE8 / jQ中的一个错误。 尝试:
$(id_to_hide).css("display", "none");
$(id_to_show).css("display", "inline-block");