Выполните JavaScript .replace в JQuery - PullRequest
1 голос
/ 12 мая 2009

Как бы я выполнил следующее в JQuery?

var elmOperator = document.getElementById(elm.id.replace('Include', 'Operator'));

Идентификатор, которым манипулируют, будет выглядеть примерно как Criteria [0] .Include. Я пытаюсь создать переменную для связанного идентификатора Criteria [0] .Operator.

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 12 мая 2009

Предполагая, что elm является объектом jQuery, а не объектом DOM, вы можете сделать это:

var elmOperator = $("#" + elm.attr('id').replace('Include', 'Operator'));

Если это объект DOM, вы можете сделать это (что было бы чуть-чуть быстрее):

var elmOperator = $("#" + elm.id.replace('Include', 'Operator'));

Большой вопрос, почему вы хотите это сделать. Если вы не знаете чего-то такого базового, как селекторы jQuery и attr(), ваша страница вообще использует jQuery?

0 голосов
/ 12 мая 2009

Вы все еще можете использовать старый javascript в jQuery, поэтому для вашего примера это будет примерно так:

var operators = $('[id*=Include]').map(function() {
    return $('#' + $(this).get(0).id.replace('Include', 'Operator'));
});
operators.css('background', 'red');

В этом примере мы выбираем все элементы «Включить», а затем выполняем отображение элементов 1: 1 на новый массив элементов операторов, наконец, мы устанавливаем фон всех операторов на красный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...