2014-11-24 165 views
0

我對jquery很新。 我想檢查頁面加載,如果數據屬性有一個值或是空的。 這裏是我的html檢查數據屬性是否有值

data-tablet="img/xl.jpg" 

我要如何檢查是否有一個路徑設置還是空的。 這裏是我的js

if ($('#myImg').data('tablet')=null) { 
alert('Path not Set'); 
}; 

但它給我一個錯誤。 可以請你告訴我如何解決它。 謝謝。

+6

的「類型」'='是賦值,''==是平等和''===是身份 – blgt 2014-11-24 13:45:05

+1

由於@blgt說,這很可能是一個問題與你的語法。如果您在問題中指定了您實際看到的錯誤,那將會很有用。 – 2014-11-24 13:45:54

+0

可能重複[不能使多個如果條件在JavaScript?](http://stackoverflow.com/questions/6727601/cant-make-multiple-if-conditions-in-javascript) – 2014-11-24 14:08:56

回答

4

正如評論中指出的那樣,您缺少一個等號,因此您沒有進行比較。第二個問題是,如果沒有數據屬性,則它是undefined,而不是null

if ($('#myImg').data('tablet')===undefined) { 
1

你可以使用它。

if (!$('#myImg').data('tablet')) { 
    alert('Path not Set'); 
}; 

在Javascript中每個對象轉換爲一個布爾值,所以如果它爲空或空字符串,它會是假的,否則這將是真實的。

+0

不工作。如果我省略數據attrabute我如何檢查它是否存在? – 2014-11-24 13:46:51

+1

如果數據屬性不存在,那麼JQuery數據調用將返回undefined,如果該屬性存在但它是空白的,那麼JQuery將返回一個空字符串。這兩個評估爲false,因此開頭的感嘆號表示採取與此相反的情況,這是事實,因此如果data-tablet屬性爲空或不存在,您將收到警報。 – Shriike 2014-11-24 13:50:46

0

您可以通過在jquery中使用以下代碼來檢查數據屬性是否有數據或存在。

在一開始,有typeof。這個方便的操作爲您提供了一個JavaScript值

if(typeof $('#myImg').data('tablet') != 'undefined') { 
    // data exist 
} else { 
    // data not exist or undefined 
}