javascript - .checked 和 .attr(checked,boolean) 之间的区别

标签 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]。 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/

相关文章:

javascript - Bluebird Promise.all 回调错误

javascript - 如何使用axios发布图片?

javascript - 如何在外部 .js 文件中包含 jQuery?

javascript - 菜单中点击事件的问题

javascript - jQuery 滚动到水平网站的下一部分

javascript - jQuery:动画滚动到下一个只工作一次

javascript - 在html中动态添加事件监听器

javascript - 解析通用 Controller AngularJS的数据

html - 将 CSS 子类添加到 JavaScript 中使用的 CSS 项?

javascript - JQuery hide()/show() 适用于 FF/IE,但不适用于 Chrome