querySelectorAll ":not" 在 IE8 中不起作用,jQuery 的版本可以吗?

querySelectorAll ":not" doesn't work in IE8, does jQuery's version?

不幸的是我必须支持 IE8 并且需要使用 :not 修饰符 select 输入。我知道 IE8 在 querySelectorAll 中不支持这个,但是 jQuery 的版本支持 IE8 吗?

querySelectorAll:

domElement.querySelectorAll( "input:not([name*='[statistic]']):not([type=button]),textarea:not([name*='[statistic]'])" );

jQuery:

jQuery( "input:not([name*='[statistic]']):not([type=button]),textarea:not([name*='[statistic]'])", domElement );

简答:是。

首先让 jQuery 流行的主要原因之一是它允许旧浏览器支持新的选择器,如 :not

所以是的,您将能够在 jQuery 代码中使用 :not 和其他选择器。

您不能在 IE8 中将 :notquerySelectorAll() 一起使用,因为 IE8 根本不支持它。 IE8 支持 CSS2.1,这是它发布时的当前标准。 :not 根本不在照片中。而且你根本不能在比它更旧的 IE 版本中使用 querySelectorAll()

jQuery 专为解决这些问题而创建,允许开发人员支持旧版 IE,同时仍允许我们使用现代浏览器功能。

今天可能有人说你不再需要jQuery了,但如果你需要支持旧的IE版本,那么对jQuery的需求就和以前一样多了是。