1

我现在正在为表格制作搜索器,现在我得到了概率。

这是不起作用的代码:

var temporary = $(this).parent('tr');
temporary.find("td:nth-of-type("+indexColumn+"):contains(is)").css("background","yellow");

如果我这样分开写,它可以工作:

temporary.find("td:nth-of-type("+indexColumn+")").css("background","yellow");    
temporary.find("td:contains(is)").css("background","yellow");

如果没有单独编写,我会收到此错误:

"Syntax error, unrecognized expression: unsupported pseudo: nth-of-type"

我的错在哪里?

感谢您的任何回复。

更新:

<table> 
   <tr> <td></td> <td></td> <td></td> <td></td> <td></td> </tr>
   <tr> <td class="stat"></td> <td></td> <td></td> <td></td> <td></td> </tr> 
   <tr> <td class="stat"></td> <td></td> <td></td> <td></td> <td></td> </tr> 
</table> 

它找到 td ,class="stat"然后我想获取例如包含任何指定文本的第 4 列

答案: 感谢所有回复。我在 1.10.2 上更新了 jQuery,它可以工作了。

4

2 回答 2

2

在没有看到您的结构的情况下,我不得不假设您没有任何与和匹配td元素。 :nth-of-type("+indexColumn+"):contains(is)

如果要选择匹配ortd的元素,可以通过用逗号分隔这两个查询来组合它们,如下所示::nth-of-type("+indexColumn+") :contains(is)

.find("td:nth-of-type("+indexColumn+"), td:contains(is)")

编辑-

作为对您的评论的回应,:nth-of-type()选择器已在 1.9 中添加:http: //api.jquery.com/nth-of-type-selector

于 2013-10-23T14:55:40.440 回答
0

您的第一个代码段是查找包含 is 的第 n 列。

您的第二个片段(您“单独编写”的地方)正在发现:

1) 第 n 列

2) 任何包含 is 的列。

第一个不起作用,因为您的 html 不得is包含在第 n 列中。

于 2013-10-23T14:57:22.070 回答