正如標題所示,elem.is(':checked')
和elem.prop('checked')
之間的區別是什麼。elem.is(':checked')vs elem.prop('checked')
我個人使用elem.is(':checked')
,因爲函數is
解釋說我要返回布爾值。
我應該什麼時候選擇一個,爲什麼?
正如標題所示,elem.is(':checked')
和elem.prop('checked')
之間的區別是什麼。elem.is(':checked')vs elem.prop('checked')
我個人使用elem.is(':checked')
,因爲函數is
解釋說我要返回布爾值。
我應該什麼時候選擇一個,爲什麼?
基於This SO Question的答案。
如果您使用1.6.0或更高版本,prop('checked')是最直接的jQuery方法。 jQuery不必解析和處理選擇器來確定要做什麼。
注意:prop比直接的程度要大於 瀏覽器。道具不僅僅是一個財產的直接檢查,它首先通過幾個層次的間接進行 ;並且不是 必然非常複雜:例如,在WebKit瀏覽器上, 可以相當直接,因爲WebKit提供了一個函數來測試 元素是否與選擇器匹配,並且支持:本機檢查;在火狐 (和,我懷疑,IE),結果在大量的函數調用 這個看似簡單的選擇器通過 Sizzle的膽量。
.prop用於獲取/設置元素的屬性值。而 傳遞一個參數,它將返回屬性(第一個參數) 值,並在傳遞兩個參數時,它將第二個參數 設置爲第一個參數(元素的屬性)的值。
因此,elem.prop('checked')
將返回checked
屬性的值。該值的數據類型可以是基於屬性的任何內容(布爾值/字符串)。
如果選中elem.prop('type')
,這將返回type
屬性,它是一個string
數據類型和返回checkbox
作爲輸出的值。
.is用於檢查元素是否匹配 條件中傳遞的參數是true/false。因此,數據類型 將始終爲布爾值(真/假)。
因此,您可以檢查是否選中(或)不使用elem.is(':checked')
。這裏,:checked
被稱爲pseudo
元素來檢查元素的state
(選中/未選中)。
您還可以使用elem.is('[type="checkbox"]')
檢查元素是否爲複選框。這裏用[type="checkbox"]
來檢查屬性type
的元素是否爲checkbox
。
它是別名。使用最合適的那個。 – Justinas