.checked和.attr之间的区别(选中,布尔值)

时间:2015-09-05 09:27:47

标签: javascript jquery html

我在js和jquery中是全新的。在试图理解它的同时,我提出了一个问题。但在此之前,如果我的问题包含子问题,我想道歉。

首先,我看到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(checkboxes)或typeof(checkboxes 1)时,我总是得到Object结果。但只知道我知道其中一个是Jquery对象而另一个是DOM对象。有没有给我这些差异的功能?

1 个答案:

答案 0 :(得分:1)

  

其中一个是Jquery对象,另一个是DOM对象。有没有   能给我这些差异的功能吗?

您可以使用:

obj instanceof jQuery

如果您想要更通用的方式,可以使用:

Object.prototype.toString.call(myVariable);