使用jQuery在表单中定位输入元素而无需手动调用

时间:2010-12-11 04:50:44

标签: javascript jquery jquery-selectors

$('#form').find('input').focus(function(){
  var a = $(this).attr(id);
  $(a+'Help').addClass('elementHelp');
});

我正在尝试制作一个简短的代码来定位特定表单中的所有输入元素。每当任何输入元素处于焦点时,获取它的id并更改另一个元素(如果存在)的字体颜色,其id是输入元素的id后跟单词“Help”的串联。

我可以为此创建一个函数,但我不希望HTML人员调用它。我只是希望他包含脚本并且它有效。我已经向他解释了命名惯例。

所有说上面的代码都不起作用。任何人都可以帮我解决这个问题。

非常感谢。

即使我被命令这样做,也告诉我,如果我这样做是非常错误的。

1 个答案:

答案 0 :(得分:4)

id(变量)在这里是undefined ...它必须是与.attr()一起使用的字符串,如下所示:

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

...但更简单的方法是使用已存在的DOM属性.id,如下所示:

$('#form').find('input').focus(function(){
  $('#'+this.id+'Help').addClass('elementHelp');
});