我想基於兩個屬性的過濾器過濾,首先是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