我在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对象。有没有给我这些差异的功能?
答案 0 :(得分:1)
其中一个是Jquery对象,另一个是DOM对象。有没有 能给我这些差异的功能吗?
您可以使用:
obj instanceof jQuery
如果您想要更通用的方式,可以使用:
Object.prototype.toString.call(myVariable);