我正在使用 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')
有效,但我仍然想完全理解为什么当我觉得它没有意义时他们可能会选择其他语法,以防万一它有一个可能导致其他地方错误的实际目的。
对此有什么解释*|...
吗?甚至有必要吗?