Jquery发现多个选择器不起作用

时间:2013-10-23 14:51:33

标签: jquery indexing selector contains

我现在正在为Searcher做桌子,现在我遇到了问题。

这是无效的代码:

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> 

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

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

2 个答案:

答案 0 :(得分:2)

如果没有看到您的结构,我必须假设您没有任何与 <{strong> td:nth-of-type("+indexColumn+")匹配的:contains(is)元素。

如果您要选择与td :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

答案 1 :(得分:0)

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

您的第二个片段(您“单独编写”)正在寻找:

1)第n列

2)包含的任何列都是。

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