2009-05-12 3 views
1

Как выполнить следующее в JQuery?Выполнение JavaScript .replace in JQuery

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

Идентификатор, который управляется, будет выглядеть примерно так: Критерии [0]. Включить. Я пытаюсь создать переменную для связанного идентификатора, который является критерием [0]. Оператор.

Заранее благодарен!

ответ

3

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

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

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

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

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

+0

в вашем втором примере, если у вас уже есть элемент DOM, я бы не преобразовал его в объект jQuery. это намного больше накладных расходов и больше ввода для загрузки. Сравните: «$ (elm) .attr ('id')" до "elm.id" – nickf

0

Вы можете использовать старый JavaScript в JQuery так для образца было бы что-то вроде этого:

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

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