我正在嘗試做一件小事,遇到問題。當檢索複選框的checked
屬性時,我得到undefined
,我無法弄清楚原因。我究竟做錯了什麼?爲什麼jquery返回未定義的複選框「checked」屬性?
console.log($("#invert").attr("checked"));
<input type="checkbox" id="invert"/> Invert Image
我正在嘗試做一件小事,遇到問題。當檢索複選框的checked
屬性時,我得到undefined
,我無法弄清楚原因。我究竟做錯了什麼?爲什麼jquery返回未定義的複選框「checked」屬性?
console.log($("#invert").attr("checked"));
<input type="checkbox" id="invert"/> Invert Image
因爲有問題的元素沒有一個checked
屬性。它有一個checked
屬性雖然:
console.log($("#invert").prop("checked")); // true or false
這裏有一個working example。
使用prop()
代替attr()
在1.9.1
DEMO-->
http://jsfiddle.net/YPYME/2/
你使用jQuery 1.9採用最新的 「託」 屬性,而不是它已棄用 「ATTR」 屬性。降低你的jQuery版本到< 1.6或使用「.prop」。
'.attr()'方法尚未被棄用。它只是爲元素中不存在的屬性返回'undefined'(在1.6和以下它有時使用屬性值而不是屬性值)。 –
你是對的。 :) – Stoop
這是第二次我做了這個錯誤。再也不。上帝是我的見證,我永遠不會確認'屬性'和'屬性'。 – Aerovistae