最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Perform JavaScript .replace in JQuery - Stack Overflow

programmeradmin1浏览0评论

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.

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.

Share Improve this question edited Oct 5, 2020 at 14:02 Nanne 64.4k16 gold badges122 silver badges166 bronze badges asked May 12, 2009 at 12:33 BueKoWBueKoW 9665 gold badges18 silver badges33 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 3

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?

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.

发布评论

评论列表(0)

  1. 暂无评论