爲什麼這個工程爲什麼我的代碼使用查詢設置複選框的選中狀態不起作用?
document.getElementById("myCheckbox").checked = false;
,而這並不與jQuery:
$("myCheckbox").attr("checked") = false;
爲什麼這個工程爲什麼我的代碼使用查詢設置複選框的選中狀態不起作用?
document.getElementById("myCheckbox").checked = false;
,而這並不與jQuery:
$("myCheckbox").attr("checked") = false;
您的代碼有幾個錯誤。首先,使用選擇器在jQuery中選擇元素,就像在CSS中一樣。所以,你需要把這個
$("myCheckbox")
成這樣,使用散列(#
)的ID選擇
$("#myCheckbox")
其次,jQuery的並沒有真正使用性能,但方法的一切。傳遞一個參數來獲得一個值,兩個來設置它。在這種情況下,你也是want to be using prop
and not attr
。所以,你需要做的:
$("#myCheckbox").prop("checked", false);
謝謝但prop(「checked」,false)和attr(「checked」,false)之間有什麼區別。由於attr更接近我原來的問題,我檢查它是一個很好的答案,但可能prop是更好的? – user310291 2012-03-23 20:11:03
我在我的回答中完全解釋了這一點,甚至將你與全面的深入解釋聯繫起來。基本上,你所擁有的香草JavaScript代碼正在改變屬性,而不是屬性。 jQuery中的等價物就是我給你的。除非你完全理解它和'attr'的區別,否則總是使用'prop'。你也可以閱讀答案中的評論,答案者自己承認「道具是要走的路」。 「attr」並不接近你的問題,它只是接近你的回答。 – 2012-03-23 20:33:09
哎呀抱歉,我沒有意識到有一個鏈接解釋attr道具之間的差異。謝謝。 – user310291 2012-03-23 22:27:47
你缺少#
,表明myCheckbox是一個id,你也不能直接設置屬性值一樣即,通過該值作爲第二個參數:
$("#myCheckbox").attr("checked", false);
另見文檔:ID Selector (「#id」)
這很奇怪。我是一個倒下你的答案。您現在編輯它以修復您的錯誤,並突出顯示它的評論已被刪除。但是,它不會顯示爲編輯,所以我不能「un-downvote」。 編輯:我在你的帖子中修復了一個錯字,並且能夠取消退出。 – 2012-03-23 19:51:32
在第一個5分鐘內,你可以編輯你的答案而不是顯示爲編輯 - 這很好,我應該得到初步答案的滿意答案 - 道具是無論如何要走的路。 – BrokenGlass 2012-03-23 19:52:47
$("#myCheckbox").attr('checked','checked');
and
$("#myCheckbox").removeAttr('checked');
要使用jQuery
$("#myCheckbox").attr("checked" , true);
選中該複選框或者取消它
$("#myCheckbox").attr("checked" , false);
它會如果工作您的複選框有ID號噸至myCheckbox
即id="myCheckbox"
,但如果您的複選框已經班級設置爲myCheckbox
即class="myCheckbox
「,然後改變你的選擇,以
$('.myCheckbox') // here . used to specify class name.
要檢查所有的複選框使用
$("input:checkbox").attr("checked" , true); // or set false to uncheck
,或者如果你要檢查或用取消名稱屬性然後
$("input:checkbox[name='mychk']").attr("checked" , true); // if 'mychk' is name of the checkbox it'll be checked
你想這樣做:
$("#myCheckbox").attr("checked", "checked");
不要錯過#aswell。
谷歌的基本問題。對於像這樣的stackoverflow有成千上萬的問題。 – 2012-03-23 20:42:25