没有.show() - jQuery,代码不起作用

时间:2009-12-10 13:50:14

标签: jquery show

    this.randomtip = function(){
        var length = $("#showcase ul li").length;
        var ran = Math.floor(Math.random()*length) + 1;
        $("#showcase ul li:nth-child(" + ran + ")").show();
    };
    randomtip();

..上面的代码最终适用于.show(),但如果我将其更改为.addClass('show')则无效。

我想给它一个类,而不是将float:left属性应用于所有li项而不是默认的display:list-item。我该如何解决这个问题?

谢谢!

4 个答案:

答案 0 :(得分:1)

乔丹回答后:

您可以从display:none替换li,然后以这种方式添加课程:

$("#showcase ul li:nth-child(" + ran + ")").css('display','').addClass('show');

答案 1 :(得分:0)

你是如何首先隐藏元素的?例如,如果您将其设置为display: none,或者使用jQuery的hide(),它执行相同的操作,那么它将覆盖其他地方定义的CSS并保持元素隐藏,直到您将其删除。如果同时使用.show()(删除display: none)和.addClass('show')(添加CSS类),它应该可以正常工作。

答案 2 :(得分:0)

尝试替换

$("#showcase ul li:nth-child(" + ran + ")").show();

这一个

$("#showcase ul li:nth-child(" + ran + ")").addClass('show').show();

答案 3 :(得分:0)

而不是display: none,请使用.addClass('hidden') / .removeClass('hidden')