Reputation: 966
How would I perform the following in jQuery?
var elmOperator = document.getElementById(elm.id.replace('Include', 'Operator'));
The ID
that is being manipulated would look something like Criteria[0].Include
. I am trying to create a variable for a related ID
which is Criteria[0].Operator
.
Upvotes: 1
Views: 12056
Reputation: 40235
You can still use old javascript in jQuery so for your sample it would be something like this:
var operators = $('[id*=Include]').map(function() {
return $('#' + $(this).get(0).id.replace('Include', 'Operator'));
});
operators.css('background', 'red');
In this sample we are selecting all the Include elements and then performing a 1:1 mapping of the elements to a new array of operator elements, finally we are setting all the operators background to red.
Upvotes: 0
Reputation: 2897
Assuming elm is a jQuery object, not a DOM object, you could do this:
var elmOperator = $("#" + elm.attr('id').replace('Include', 'Operator'));
If it is a DOM object, you can do this (which would be a tiny bit faster):
var elmOperator = $("#" + elm.id.replace('Include', 'Operator'));
The bigger question is why you'd want to do this. If you don't know something as basic as the jQuery selectors and attr()
, is your page using jQuery at all anywhere?
Upvotes: 3