【问题标题】:Issue with querySelector 'tbody > tr[data-index=-1]'querySelector 'tbody > tr[data-index=-1]' 的问题
【发布时间】:2015-03-05 01:51:08
【问题描述】:

我有以下查询选择器。使用 Chrome 38 我得到一个“SYNERR:不是一个有效的选择器”。现在有趣的是,在 CSS 中它可以正常工作。

tbody > tr[data-index=-1]

知道为什么 JavaScript 不喜欢这条路径吗?

【问题讨论】:

  • 带引号的 tr[data-index="-1"] 怎么样?
  • 你确定它在 CSS 中可以正常工作吗?无论哪种方式,它都应该是无效的。

标签: javascript dom css-selectors


【解决方案1】:

问题是,在attribute selectors,

属性值必须是标识符或字符串

但-1 不是有效的identifier(强调我的):

在 CSS 中,标识符(包括元素名称、类和 ID) 选择器)只能包含字符 [a-zA-Z0-9] 和 ISO 10646 字符 U+00A0 及更高,加上连字符 (-) 和下划线 (_);它们不能以数字、两个连字符或后面的 连字符开头 一个数字。

因此,您必须使用string:

字符串可以用双引号或单引号 引号。

例如,

tbody > tr[data-index="-1"]

【讨论】:

  • 我想我刚刚度过了我的 DOH 时刻!当然..有时我们看不到最简单的东西
猜你喜欢
  • 1970-01-01
  • 2016-01-30
  • 2021-05-28
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多