BueKoW
BueKoW

Reputation: 966

Perform JavaScript .replace in JQuery

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

Answers (2)

bendewey
bendewey

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

Plutor
Plutor

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

Related Questions