我想基于两个属性的过滤器过滤,首先是id和第二被称为水平jQuery的过滤器() - 多属性
即ID =“someId”电平=“someLevel”
这个代码不应该做这个伎俩......它似乎不工作。
$(".someClass").filter("#"+id, "[level='"+level+"']").someAction();
我想基于两个属性的过滤器过滤,首先是id和第二被称为水平jQuery的过滤器() - 多属性
即ID =“someId”电平=“someLevel”
这个代码不应该做这个伎俩......它似乎不工作。
$(".someClass").filter("#"+id, "[level='"+level+"']").someAction();
您提供两个参数:
.filter("#someId", "[level='someLevel']")
你可能想这样的:
.filter("#someId[level=someLevel]")
您可以在过滤功能使用Multiple Attribute Selector。
怎么样
$(".someClass").filter("filter1").filter("filter2")
?
如果它的或条件你真的应该有一个帮手function like string format:
string.Format = function(text)
{
//check if there are two arguments in the arguments list
if (arguments.length <= 1)
{
//if there are not 2 or more arguments there’s nothing to replace
//just return the original text
return text;
}
//decrement to move to the second argument in the array
var tokenCount = arguments.length - 2;
for(var token = 0; token <= tokenCount; token++)
{
//iterate through the tokens and replace their placeholders from the original text in order
text = text.replace(new RegExp("\\{" + token + "\\}", "gi"),
arguments[ token + 1 ]);
}
return text;
};
然后将其简单:
var filter = string.format("#{0}, [level='{1}']", id, level);
$(".someClass").filter(filter).someAction();
顺便说一句:我想做一个SQL和语句的等价不是OR语句。 – Ankur 2010-04-08 08:57:36