2013-06-22 1 views
0

У меня есть добавить простой код JavaScript/JQuery для моего приложения Rails, который делает RubyMine, чтобы отобразить следующее предупреждение:RubyMine Уоринг Message - «Дублированный JQuery селектор»

"Duplicated jQuery selector". 

среда дает мне дополнительную информацию о предупреждающее сообщение:

Проверяет, что селектор jQuery используется эффективным образом. Он предлагает для разделения селекторов-потомков, которые предварительно снабжены селектором ID, и предупреждает о дублированных селекторах, которые могут быть кэшированы.

Сам код очень прост, и я использую его в течение многих лет, чтобы проверить, если элемент оказывается, если он не найден, то элемент добавляется на странице:

if($('#error').length == 0) { 
    $('<span class="error" id="error">'+error_message+'</span>') 
      .insertAfter('#element'); 
}else { 
    $('#error').html(error_message); 
} 

Среда дает мне ошибку выше для следующей строки:

$('#error').length == 0 

Я использовал это в течение долгого времени, но Google еще раз, чтобы увидеть, если есть способ, чтобы переписать его, единственное, что я нашел это используйте только:

$('#error').length 

Но окружающая среда снова показывает мне такое же предупреждение.

На самом деле это возможно, чтобы оптимизировать это, и я не использую его правильно, или предупреждение может быть результатом некоторых внутренних ошибок неправильно понимает правилами окружающей среды?

ответ

0

Предупреждение не имеет ничего общего с неправильным или медленным синтаксисом jQuery селектора. Я использую тот же селектор в текущем файле, и среда RubyMine говорит, что это можно оптимизировать, сделав ссылку на этот селектор, следующим образом:

var selector = $(jquery_selector)