JQuery: Selector that contains some text, but doesn't contain others
Sorry if this question is mind numbingly easy to ans开发者_如何学运维wer, but I'm a bit new to JQuery and I have a tight deadline.
I am looking for a selector for textbox elements that have this format:
id = "FixedName_#"
"FixedName" will always be "FixedName", but I only want to find elements where the # is positive. So I would want to find "FixedName_1", and "FixedName_2" for example, but skip over "FixedName_-1" and "FixedName_-2".
Thanks!
Update Ended up going with something like this (modified my actual code for display here so not sure if this works as shown):
$("input[id*='FixedName_']").each(function() {
if ($(this).attr("id").charAt(10) == "-") {
//Do something.
} else{
//Do something else.
}
});
I'm not sure you can do that with one selector. What I'd do is select all the elements that have an ID starting with FixedName_ like this:
$("[id|=FixedName_#]")
Then you can loop through the results and examine the value after the #.
EDIT: Try this:
$("[id^=FixedName_#]").each(function(){
var controlNum = parseInt(this.id.replace('FixedName_#',''));
if (controlNum >= 0){
//......
}
});
This might be of some help
Regex Selector for jQuery
After adding this attribute selector, you can do this:
$("*:regex(id, ^FixedName_\\d+$)")
Will also match FixedName_0.
This stored the elements that their id does not contain a - sign
var elems = $('input:not([id*=-])');
alert(elems.size());
You could try adding a class of "FixedName" and then adding a rel of the number so you could use this: if ( $('.FixedName').attr('rel') > 0 ) { ... }
Is there any chance the code that generates the textboxes could set class attributes like class="positive/negative" based on the id value? To be able to select $('.positive')...
精彩评论