Javascript显示和隐藏

时间:2013-03-08 18:15:38

标签: javascript jquery sharepoint-2010

我的要求非常简单,它必须检查变量并相应地显示/隐藏类。它位于sharepoint发布页面上。 使用以下代码段无效。

if ( source = 'show')
{
$('.classshide').hide();
}
else
{
$('.classsshow').hide();
}

只有在显示源变量时它才有效,并且它也应该在其他方面起作用,当它不等于show或等于hide时,请隐藏classshow。

3 个答案:

答案 0 :(得分:2)

你的平等测试是错误的。

if ( source = 'show')

应该是

if ( source == 'show')

或者可能是

if ( source === 'show') //if source is a string and you don't want type coercion

答案 1 :(得分:0)

请使用严格比较===。它更快,因为它在比较变量的type时无需转换value

编辑:

// get what the current state of hide/show is
var source = $('.classhide').length === 0 ? 'show' : 'hide';

if ( source === 'show') {
    $('.classshide').hide();
} else {
    $('.classsshow').hide();
}

答案 2 :(得分:0)

您需要使用相等(==)或严格相等(===)运算符将source变量与if语句中的“show”进行比较。因为你提到需要显示以及隐藏类,我猜你想要交替显示哪些类,所以我相应地调整了其余的代码。

if ( source === 'show' )
{
    $('.classshide').hide();
    $('.classsshow').show();
}
else if ( source === 'hide' )
{
    $('.classsshow').hide();
    $('.classshide').show();
}
else // for some reason source is neither 'show' or 'hide'
{    //default to the logic for if it is 'hide'
    $('.classsshow').hide();
    $('.classshide').show();
}