【问题标题】::not(:first-child) and Jquery 1.8.0:not(:first-child) 和 Jquery 1.8.0
【发布时间】:2012-08-07 23:01:45
【问题描述】:

使用 PHP 我在表格中显示数据行。每一行都是一个链接。而不是在每个表格单元格中使用 <a> 标记,我决定使用 Jquery 使每个 <tr> 标记可点击,除了第一个 <tr> 是表格标题和第一个 <td> 因为它包含一个复选框.

查看我的 Fiddle 示例,代码:http://jsfiddle.net/Draven/eQznR/12/

它在 Jquery 1.7.2 上运行良好,但由于它们今天更新到 1.8.0,它不再工作。

我想要一个无需使用 Jquery 1.7.2 的解决方案,因为显然这不是正确的做法。

谢谢。

编辑:感谢 Šime Vidas,这是因为我有一个班级号码 (class=1)。

【问题讨论】:

  • 您可以使用<thead><tbody> 来划分您的表格。
  • 我想这可以通过第一个 <tr> 标签,但不适用于第一个 <td> 标签。
  • 这只是一个例子,还是你的生产代码真的有像'1'这样的类标识符?
  • 您可以用$("table.list-apps-table tr:not(:first-child).1 td").not(":first-child") jsfiddle.net/eQznR/13 替换它,但我不知道它为什么会失败。我看到了更多关于自定义选择器在 1.8 中无法正常工作的报告

标签: php jquery css-selectors


【解决方案1】:

"1" 类名在 1.8 版中搞砸了。如果你使用以字母开头的类名,它将在 1.8 中工作:

现场演示: http://jsfiddle.net/eQznR/14/

【讨论】:

  • 实际上以数字开头的类或 id 是无效的 html:stackoverflow.com/questions/4089006/… jQuery 正朝着使用本机浏览器选择器的方向发展,这可能是问题所在。
  • @Fresheyeball:至少以数字开头的 ID 在 HTML 5 中是有效的。
  • @Fresheyeball 如果您链接相应规范中的相关部分,而不是另一个 SO 线程,那会更有意义。 :P 无论如何,链接是w3.org/TR/css3-syntax/#characters
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 2021-12-14
相关资源
最近更新 更多