Целевые элементы ввода в форме с использованием jQuery без вызова вручную - PullRequest
0 голосов
/ 11 декабря 2010
$('#form').find('input').focus(function(){
  var a = $(this).attr(id);
  $(a+'Help').addClass('elementHelp');
});

Я пытаюсь сделать короткий код для таргетинга всех элементов ввода внутри определенной формы. Когда какой-либо элемент ввода находится в фокусе, получите его идентификатор и измените цвет шрифта другого элемента (если он существует), идентификатор которого является объединением идентификатора элемента ввода с последующим словом «Справка».

Я мог бы сделать функцию для этого, но я не хочу, чтобы парень из HTML вызывал ее. Я просто хочу, чтобы он включал сценарий, и он работает. Я объяснил ему соглашение об именах.

Все, что сказано выше, код не работает. Может кто-нибудь, пожалуйста, помогите мне решить эту проблему.

Большое спасибо.

Также скажите мне, если я ужасно неправ в этом, даже если мне было приказано сделать это.

1 Ответ

4 голосов
/ 11 декабря 2010

id (переменная) здесь undefined ... это должна быть строка для использования с .attr(), например:

$(this).attr("id");

... но гораздо более простой способ - использовать уже существующее свойство DOM .id, например:

$('#form').find('input').focus(function(){
  $('#'+this.id+'Help').addClass('elementHelp');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...