2012-04-24 89 views
0

我试图将变量值传递到:contains()参数,我不能多个参数工作。多个jQuery:包含()参数不工作

这里就是我的意思是:

做多:包括()过滤器,您使用$("li:contains('arg1'):contains('arg2')").etc();

这意味着,只有li s的arg1arg2将这个搜索匹配。

好了,所以我想要做的是:

var styleQuery = $("td:contains("+ styleOption + "):contains("+ glassOption +")"); 

没有运气。

var styleQuery = $("td:contains("+ styleOption + ")"); 

完美地工作,但第二个变量搜索没有。

关于发生了什么的任何想法?

编辑

其实,我固定的一些类型,我现在得到这个返回通过控制台选择:

tr:contains(Sliding Patio Doors):contains(Double Glazed LoE 180) 

所以:包含()现在过滤器的工作,但我我仍然无法让我的代码工作。感谢您的帮助!仍然难倒,但这个特定的问题是休息。

+2

什么是'styleOption'和'glassOption'?多个':contains()'在这个jsFiddle中工作正常:http://jsfiddle.net/Zz9uN/,所以你的变量必须有些东西。 – bhamlin 2012-04-24 23:52:13

+0

实际上,我修正了一些类型,现在通过控制台得到了这个返回值: 'tr:contains(Sliding Patio Doors):contains(Double Glazed LoE 180)' 所以:contains()现在工作,但我仍然无法让我的代码工作。虽然谢谢! – ggwicz 2012-04-25 00:26:24

回答

1

尝试添加单引号:

var styleQuery = $("td:contains('"+ styleOption + "'):contains('"+ glassOption +"')"); 
+0

上帝,jQuery只是让一切变得丑陋,不是吗? – FlavorScape 2012-04-24 23:51:49

+0

相比较丑...什么? – 2012-04-24 23:54:22

+0

...和基本的JavaScript代码来选择基于字符串匹配项目是如此令人难以置信的优雅? ;) – bhamlin 2012-04-24 23:55:23