我在js和jquery中是全新的。在試圖理解它的時候,我提出了一個問題。但在此之前,如果我的問題包含子問題,我想道歉。.checked和.attr之間的區別(checked,boolean)
首先,我看到in this question,.checked應該和DOM對象一起使用,而.attr()需要和jQuery對象一起使用。現在我的問題:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<ul>
<li>List element 1</li>
<li>List element 2</li>
</ul>
checkbox1:<input type='checkbox' id='checkbox1'/>
checkbox2:<input type='checkbox' id='checkbox2'/>
<script>
var checkboxes=$('input');
checkboxes[1].checked=true;
</script>
</body>
</html>
在這裏,checkboxes
變量是一個jQuery對象或DOM元素?我在想,$()返回一個jquery對象(如here所述),但是當我嘗試時,checkboxes.attr('checked',true)
而不是checkboxes[1].checked=true;
,我得到錯誤。我的另一個假設是,可能是checkboxes
變量是一個jquery對象,而checkboxes[1]
是一個dom
元素?我對嗎?
編輯
一個問題,當我想了解一個變量的類型,我寫瀏覽器的控制檯這一說法:typeof運算(VARIABLENAME)。不幸的是,當我編寫typeof(複選框)或typeof(複選框1)時,我總是得到Object結果。但只知道我知道其中一個是Jquery對象,另一個是DOM對象。有什麼功能給我這些差異嗎?
是的,你說得對。要從jQuery集合的索引中獲取jQuery項目,請使用'.eq',如'checkboxes.eq(1).prop('checked',true)'中所示。 (並使用'prop'來設置屬性,而不是'attr'!) – Ryan
在jquery中你使用'prop'所以只需將'attr改爲prop' – guradio
@minitech非常感謝你,如果你可以把它寫成答案,我會接受它。是的,接下來我認爲我將學習的是attr和prop之間的區別 – zwlayer