$('#form').find('input').focus(function(){
var a = $(this).attr(id);
$(a+'Help').addClass('elementHelp');
});
我正在尝试制作一个简短的代码来定位特定表单中的所有输入元素。每当任何输入元素处于焦点时,获取它的id并更改另一个元素(如果存在)的字体颜色,其id是输入元素的id后跟单词“Help”的串联。
我可以为此创建一个函数,但我不希望HTML人员调用它。我只是希望他包含脚本并且它有效。我已经向他解释了命名惯例。
所有说上面的代码都不起作用。任何人都可以帮我解决这个问题。
非常感谢。
即使我被命令这样做,也告诉我,如果我这样做是非常错误的。
答案 0 :(得分:4)
id
(变量)在这里是undefined
...它必须是与.attr()
一起使用的字符串,如下所示:
$(this).attr("id");
...但更简单的方法是使用已存在的DOM属性.id
,如下所示:
$('#form').find('input').focus(function(){
$('#'+this.id+'Help').addClass('elementHelp');
});