我在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