我对 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]。 check=true;
,我收到错误。我的另一个假设是,checkboxes
变量可能是一个 jquery 对象,而 checkboxes[1]
是一个 dom
元素?我说得对吗?
编辑
还有一个问题,当我想了解变量的类型时,我在浏览器的控制台中编写这样的语句:typeof(VariableName)。不幸的是,当我编写 typeof(checkboxes) 或 typeof(checkboxes 1 ) 时,我总是得到 Object 结果。但只知道我知道其中一个是 Jquery 对象,另一个是 DOM 对象。有什么函数可以给我带来这些差异吗?
最佳答案
one of them is Jquery object and the other is DOM object. Is there any function which gives me these differences?
您可以使用:
obj instanceof jQuery
如果您想要更通用的方式,您可以使用:
Object.prototype.toString.call(myVariable);
关于javascript - .checked 和 .attr(checked,boolean) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32411505/