-1

我有一个问题,为什么这在 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 中不起作用,我希望有人能帮助我。

4

4 回答 4

1


Jquery 内置了 hide() 和 show() 等函数。
试试看。
例如:$('input#id').hide();
使用类选择器也不是一个好主意,因为性能会受到影响。
尝试使用 id。

于 2012-04-08T05:42:23.370 回答
0

如果您使用的是 jquery,那么使用下面的 javascript,它可能对您有用

jQuery(this).hide();
jQuery(this).show();
于 2013-09-17T07:30:11.953 回答
-1

看起来您只是为一个具有 show 类的元素调用 hideContent() ,该类在 hide 类中,该类在 title 类中。.hide.show 是两个不同的嵌套类。

.title .hide .show

jQuery 正在寻找一个带有 .show in a .hide in a .title 的元素

如果您要切换,则将 hideContent() 的第二行替换为:

$('.title .show').hideContent();
$('.title .hide').hideContent();
于 2012-04-07T20:16:30.040 回答
-1

我猜这是 IE8/jQ 中的一个错误。尝试:

$(id_to_hide).css("display", "none");
$(id_to_show).css("display", "inline-block");
于 2013-12-13T08:49:46.280 回答