我的要求很簡單,它必須檢查變量並相應地顯示/隱藏類。它位於sharepoint發佈頁面上。 使用以下代碼段不起作用。Java腳本顯示和隱藏
if (source = 'show')
{
$('.classshide').hide();
}
else
{
$('.classsshow').hide();
}
它的工作原理,只有當源變量是節目,它應該工作的otherway過,當它不等於顯示或等於隱藏,請隱藏classshow。
我的要求很簡單,它必須檢查變量並相應地顯示/隱藏類。它位於sharepoint發佈頁面上。 使用以下代碼段不起作用。Java腳本顯示和隱藏
if (source = 'show')
{
$('.classshide').hide();
}
else
{
$('.classsshow').hide();
}
它的工作原理,只有當源變量是節目,它應該工作的otherway過,當它不等於顯示或等於隱藏,請隱藏classshow。
您的平等測試是錯誤的。
if (source = 'show')
應該
if (source == 'show')
,也可能是
if (source === 'show') //if source is a string and you don't want type coercion
請使用嚴格比較===
。速度更快,因爲在比較變量的value
時,不需要轉換type
。
編輯:
// get what the current state of hide/show is
var source = $('.classhide').length === 0 ? 'show' : 'hide';
if (source === 'show') {
$('.classshide').hide();
} else {
$('.classsshow').hide();
}
不工作。現在,它甚至不適用於第一種情況。什麼都沒發生。 – svs 2013-03-08 18:27:54
@svs然後我有一種感覺,當它用於比較時,'source'沒有用實際值定義。 – sweetamylase 2013-03-08 18:31:23
您需要使用的平等(==
)或全等(===
)運算符來source
變量 「秀」 在你的if語句比較。因爲你提到需要顯示以及隱藏類,我猜你想要交替顯示哪些類,所以我相應地調整了其餘的代碼。
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();
}
出於某種原因,==或===不適合我。它至少檢查第一個條件,如果我只使用=,否則失敗。 – svs 2013-03-08 18:32:58
你是什麼意思,它不工作?你是否在if塊之前設置變量,並且將它設置爲正確的值? – jonhopkins 2013-03-08 18:35:20
該變量正在頁面中定義,我只是將其拉入我的腳本來檢查是否阻塞。 – svs 2013-03-08 18:39:26
你需要改變'如果(來源=「秀」)''來,如果(來源==「秀」)' – jonhopkins 2013-03-08 18:17:24
甚至沒有在第一種情況下工作,如果我使用「==」到位'='。 – svs 2013-03-08 18:20:21
你確定'source'是正確的值嗎? – jonhopkins 2013-03-08 18:28:46