【发布时间】:2013-12-24 01:40:17
【问题描述】:
我正在使用 EPUB.JS,它使用以下代码从 ePub 文件中获取一些信息:
var navEl = navHtml.querySelector('nav[*|type="toc"]')
这行代码在 IE10 中失败,因为 querySelector 返回 null。我以前从未见过[*|attr="val"] 格式的属性选择器,但我认为他们想说的是,“选择所有具有任何属性或名为'type'的属性的导航元素值'toc'。”
我找不到有关此星形管道语法的任何信息,但我认为它是某种逻辑 OR 命令,适用于 Webkit/Mozilla 但不适用于 IE。
将该行更改为:
var navEl = navHtml.querySelector('nav')
有效,但我仍然想完全理解为什么他们可能会在我觉得它毫无意义时选择其他语法,以防万一它有可能导致其他地方出错的实际目的。
这个*|...有什么解释吗?甚至有必要吗?
【问题讨论】:
-
请注意,
querySelector()只能返回零或一个元素,而不是“全部”(除非无论如何只有一个)。
标签: javascript css css-selectors internet-explorer-10 selectors-api