为什么 *[checked] 在使用 jQuery 的过滤方法时表现得像 :checked ?

2024-03-01

继从上一个问题 https://stackoverflow.com/questions/8673201/why-does-checked-not-match-a-single-checked-input-box.
假设我在加载 jQuery 1.5.2 的页面上有两个复选框

<input id="test1" type="checkbox"/>
<input id="test2" type="checkbox"/>

然后让我们单击它们以分别给出checked财产。 现在让我们抓取所有复选框并过滤掉未选中的复选框

var numOfCheckedBoxes = $("input:checkbox").filter("*[checked]").size();

现在根据问题的答案上一个问题 https://stackoverflow.com/questions/8673201/why-does-checked-not-match-a-single-checked-input-box,我期望numOfCheckedBoxes等于0但它等于2。我现在应该使用$("input:checkbox:checked") or $("input:checkbox").filter(":checked").

这与我这样做不同

var numOfCheckedBoxes = $("#test1").filter("*[checked]").size();

其中设置numOfCheckedBoxes等于0.
这是 jsFiddle 的第一个有问题的场景 http://jsfiddle.net/2QZvU/9/。 这是 jsFiddle 的有问题的第二种情况 http://jsfiddle.net/2QZvU/13/.


因为在现代浏览器中,DOM 选择将通过querySelectorAll.

这意味着在进行 DOM 选择时,*[checked]实际上会寻找该特定属性。

当你这样做时':checked'在 DOM 选择中,您使用的是Sizzle扩展名是无效的CSS,所以querySelectorAll没有被使用,因此Sizzle使用时,它会查看属性和属性。


所以这里的区别在于.filter()不/不能使用querySelectorAll,这意味着您将获得由下式给出的专有行为Sizzle而不是有效的 DOM 行为。


如果Sizzle实际上是一个兼容性补丁querySelectorAll,但事实并非如此,因此您必须处理由此产生的不一致。


EDIT:

似乎有一个优化,如果filter()针对多个元素进行调用,Sizzle被使用,但如果只有一个元素,那么is()用来。

这很重要,因为is()将使用matchesSelector在有它的浏览器中,并且matchesSelector将给予相同的评价querySelectorAll。该评价不同于Sizzle.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 *[checked] 在使用 jQuery 的过滤方法时表现得像 :checked ? 的相关文章

  • 在随机位置启动 HTML5

    我有一个大约 2 小时长的音轨 我想在我的网站上使用它 我希望它在页面加载时在随机位置开始播放曲目 使用 HTML5 可以吗 我知道您可以使用 element currentTime 函数来获取当前位置 但是如何在完全下载之前获取曲目的总时
  • 在 R 传单中添加不透明度滑块

    如何在 R leaflet 应用程序中添加滑块来控制特定图层的不透明度 对于这个应用程序 我不想使用闪亮 这里建议 在 R 传单应用程序中添加滑块 https stackoverflow com questions 37682619 add
  • 我怎样才能让这个脚本在 WordPress 上运行?

    我有这个脚本 document ready function text1 click function this hide 代码html div class div1 p class text1 text to appear when th
  • 设置双指缩放时精确的滚动位置

    我正在创建一个地图应用程序 它将标记图像放置在画布上并滚动到它 我正在使用浏览器的捏缩放和滚动来放大 缩小地图 然而 我注意到有一些奇怪的行为 我想知道如何解决它 这有点难以解释 但我们开始吧 假设您处于网页的标准缩放级别 无法进一步缩小
  • API 使用令牌向 odoo 进行身份验证

    我想使用令牌从 Express 应用程序向 Odoo 进行身份验证 我在用odoo xmlrpc https www npmjs com package odoo xmlrpc连接 Odoo 的节点模块 我的快递应用程序 Odoo 要求 A
  • 访问 nuxt 配置文件中的存储

    我想添加通过 Nuxt 静态生成的动态路由 我定义了一个客户端 服务器端存储asyncData方法 我想将这个存储值 一个数组 映射到我的nuxt config js文件使其成为 动态 静态 路线图nuxt generate命令 但如何访问
  • JS 保留以零结尾的小数[重复]

    这个问题在这里已经有答案了 在JavaScript中 是否可以 锁定 十进制数 以保留以零结尾的 浮点数 例如 我有 2 个不同的数字 如下所示 伪代码 let a 1 0 let b 1 00 a b true should be fal
  • 检索 css3 缩放元素的宽度/高度

    我正在与 offsetWidth 属性的奇怪之处 我认为 作斗争 这是场景 比方说 我有一个span标签 在我的js中 在某个时刻我执行css3转换 对于这个元素 例如 el set styles transform scale scale
  • 全局传递 xhr onload 函数的值

    在我正在创建的应用程序中 我有以下 XMLHttpRequest 并且我正在尝试传递结果data在 的里面xhr onload 到在同一父函数中创建的数组中 var url http api soundcloud com resolve j
  • 使用 JQuery 禁用和启用所有超链接

    我有以下禁用所有超链接的内容 但在事件发生后我想再次启用它们 我该如何执行此操作 a click function return false 我认为这不仅仅是将其设置为 true 那么简单 谢谢大家 不要以这种方式绑定 点击 处理程序 而是
  • 当我多次调用 requestAnimationFrame 时会发生什么

    我的意思是一次调用多个具有相同功能的 requestAnimationFrame function Draw DoSomething function AFunc prepare something requestAnimationFram
  • 销毁 JQuery 可拖动对象

    我有一组可拖动的元素 如何删除可拖动功能 draggable draggable disable 对我来说不是一个选择 draggable draggable destroy 回报Uncaught TypeError Cannot read
  • 如何使用新的analytics.js跟踪多个帐户?

    我需要使用 Google 的新的analytics js 跟踪一个页面上两个帐户的综合浏览量 有大量教程和示例如何使用较旧的 ga js 进行操作 但我发现的只是这个分析文档页面 https developers google com an
  • 呃!尝试将包发布到 npm 时出现 403

    我正在尝试将包发布到 npm 您可以在此处查看存储库 https github com biowaffeln mdx state https github com biowaffeln mdx state 我登录到 npmnpm login
  • ChartJs:如何按时间值(而不是像素)以编程方式平移

    我使用的是chartJs 3 6 1 和 Chartjs plugin zoom 1 2 1 但我认为这并不重要 我有 2 个时间序列折线图 当我通过拖放平移一个图表时 我也想移动 平移另一个图表 为此 我为 graphA 启用了缩放 平移
  • PDF 在 Safari 中隐藏 Jquery Modal

    这是与我有关的事情this https stackoverflow com questions 24052681 pdf hide jquery modal in ie问题 在 IE 中 我在对话框中使用 iframe 解决了问题 所以它工
  • 为什么 Node.js 应用程序只能从 127.0.0.1/localhost 访问?

    我本来打算教我的朋友介绍 Node 但是后来 我想知道为什么这个代码来自nodejs org var http require http http createServer function req res res writeHead 20
  • 以角度访问窗口 TemplateUrl 内的范围

    我的模式有一个 windowTemplateUrl 如下 div class modal fade div class modal dialog div class modal content square btn div div div
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 如何映射轮播的子项数组?

    我正在尝试将 Carousel 组件包装在映射对象数组周围作为组件的子级 目前我只能让映射创建映射对象的 1 个子对象 轮播需要像这样

随机推荐

  • 如何从 PHP 获取电子邮件及其附件

    我正在为朋友的婚礼编写一个照片库网络应用程序 他们想要一个照片库供客人提交他们当天拍摄的数码照片 在评估了所有选项后 我决定对用户来说最简单的事情就是让他们使用熟悉的界面 他们的电子邮件 然后让他们将图片作为附件发送 我已经创建了一个邮箱
  • 如何将 WCF 客户端代理生成的类中的方法标记为虚拟

    在 VS 2010 中 我创建了一个服务引用 该引用的代码生成 WCF 客户端代理类 Reference cs 我需要此类中的方法具有 Virtual 修饰符 以便它们可以在 Mock 中使用 当然 我可以手动编辑生成的代码 但每次更新引用
  • 通过 ajax 加载的表单上的 :remote => true/data-remote

    在我的 Rails 应用程序中 我有一个使用 jQuery 加载方法通过 Ajax 加载的表单 function load sales form product id sales form load product id 加载的表单有一个
  • Junit测试时如何将日志级别设置为DEBUG?

    我将 SLF4J 与 LOG4J 一起使用 配置通常位于log4j properties 并将日志级别设置为 INFO 但是在测试期间我想将日志设置为 调试 我看不出有什么方法可以实现自动化 也没有类似的东西log4j tests prop
  • PyOpenCL 矩阵乘法

    我有使用 pyopenCL 进行矩阵乘法的代码 我的问题是某些矩阵的结果是错误的 我不明白为什么 经过一番研究后 我认为它与类似的全球规模有关 但我不明白如何设置该值 例如 使用 numpy dtype float32 的矩阵 矩阵1 0
  • 如何使用 Angular 的装饰器模式来增强指令的链接功能?

    我正在开发一个 Angular 库 并寻找一种使用装饰器模式扩展指令的方法 angular module myApp decorator originaldirectiveDirective delegate function delega
  • Jekyll 右对齐文本

    如何在 Jekyll 中右对齐文本 我有一段文本想要右对齐 如果是 HTML 我会这样做 style text align right 我怎样才能用 Jekyll 在 Markdown 中做到这一点 Jekyll 2 0 使用 kramdo
  • DefaultConnection 和membership - localsqlserver 和defaultconnection 之间的连接是什么

    嗯 我真的无法理解这个问题 在 web config 我有
  • 编译器错误消息:CS0029:无法将类型“int”隐式转换为“string”

    我需要转换String表数据库的输入整数值在 C NET 4 中并尝试了受此启发的代码Link https stackoverflow com questions 2344411 how to convert string to integ
  • 获取 ASP.NET MVC 站点在文件系统中的路径

    我有一个 ASP NET MVC 项目 它有一个名为电子邮件的子文件夹 其中包含我的电子邮件模板的 HTM 文件 在网站的某些位置 我有一个控制器需要加载这些模板之一并将其作为电子邮件发送 我想要做的是使用反射来获取当前执行程序集的路径 但
  • Visual Studio Code 无法在 WSL2 上运行

    当我尝试在 WSL2 终端中打开 VS Code 时 如下所示 code 我收到以下错误 mkdir cannot create directory DIRECTORY Permission denied 当使用 sudo 启动时 sudo
  • 使用 Linq to SQL 进行多线程处理

    我正在构建一个应用程序 它需要我使用 DataContext 的内部线程 我的应用程序不断抛出异常InvalidOperationException类似于 There is already an open DataReader associ
  • 未知长度资产的 AVAssetResourceLoaderDelegate 实现

    我的 iOS 应用程序使用 AVPlayer 播放来自我的服务器的流音频并将其存储在设备上 我实现了 AVAssetResourceLoaderDelegate 因此我可以拦截该流 我改变了我的计划 从http到一个假方案 以便调用 AVA
  • 戳堆栈

    我试图了解堆栈到底是如何工作的 所以我将在这里重新创建一个带有一些问题的小示例 假设我在 ASM 中有一段小代码 它执行以下操作 这一切都是x86 intel语法 Linux push ebp mov ebp esp sub esp 16
  • 通用视图模型?

    我想知道尝试创建一个采用通用视图模型的视图是否是一种好的做法 我想知道这一点 因为有人提到他预计必须执行大量重复代码 除非他开始制作通用视图和通用视图模型 所以基本上视图就像一组控件 一个视图可能有 2 个控件 例如文本框和单选按钮 另一个
  • pandas 中的 .sum() 方法给出不一致的结果

    我有一个大的 DataFrame 大约 4e 07 行 总结时 我得到2 显着不同的结果我是否做总和之前或之后列选择 另外 类型变化从 float32 到 float64 即使总数均低于 2 31 df col1 col2 col3 sum
  • 如何在同一个 HTML5 播放器中放大视频并切换视频流?

    我的视频将分为 4 个视频 首先 播放器将传输较低分辨率的原始视频 然后用户可以放大视频以查看更多细节 我需要播放器根据用户放大的位置传输 4 个视频之一 分辨率较高 我如何使用 VideoJS 或任何其他视频播放器来实现这一点 经过一番查
  • 为什么我的托管 Django 站点(alwaysdata)无法显示我的页面

    我已经将 Django 部署在总是数据网 http www alwaysdata com 这是我的主页http zjm1126 alwaysdata net http zjm1126 alwaysdata net 我改变index html
  • 在ctrlp + vim中使用ag

    我想将 ag 银色搜索器 与 ctrlp 和 vim 一起使用 我的 vimrc 中有这个 if executable ag set grepprg ag nogroup nocolor let g ctrlp user command a
  • 为什么 *[checked] 在使用 jQuery 的过滤方法时表现得像 :checked ?

    继从上一个问题 https stackoverflow com questions 8673201 why does checked not match a single checked input box 假设我在加载 jQuery 1