在jquery.hide()和show()之后div内容消失

时间:2015-09-26 10:33:45

标签: javascript jquery html

你好,我的div内容在jquery调用hide()和show()之后就消失了,它已经消失了。

3

下面是我的jquery函数,它在我的div之间交换,以在我的页面上显示不同的内容。然而,在它们之间交换,使得foreach所做的每一个内容都消失了。

for(var i = 0; i < 12; i++)
{
    for(var j = 0; j < 12; j++)
    {
        if(platformCoords[i][j] == 0)
        {
            tmp++;
        }
    }

    if(tmp > 11)
    {
        XX++;
    }
    else
    {
        i = 99;
        j = 99;
    }
    tmp = 0;
}
//This is the evilness which has plagued me//   
for(var k = 12; k > -1; k--)
{
    for(var l = 0; l < 12; l++)
    {
        if(platformCoords[k][l] == 0)
        {
            tmp++;
        }
    }

    if(tmp > 11)
    {
        XY--;
    }
    else
    {
        k = -2;
        l = 99;
    }
    tmp = 0;
}

如何将此内容保持为此隐藏和显示?

2 个答案:

答案 0 :(得分:2)

更改

$('.content-container div').hide();

为:

$('.content-container > div').hide();

这只是隐藏了直接的孩子,而不是所有的后代DIV。

您遇到的问题是您显示的是.content3,但其中的.houseBox DIV仍被原始.hide()隐藏。

答案 1 :(得分:0)

你处理的css代码。这里有css代码添加。 这里的代码在jsfiddle(https://jsfiddle.net/hyoeqwzL/

中工作
.hide {display:none!important}
.show {display:block!important}

这里的javascript代码

$(".link").on("click",function(e){
    e.preventDefault();
    $('.content-container div').addClass('hide').removeClass('show');
    console.log('#'+$(this).data('rel'))
    $('#' + $(this).data('rel')).addClass('show').removeClass('hide');
    return false;
});