javascript - 使用 jQuery 定位表单中的输入元素,无需手动调用

标签 javascript jquery jquery-selectors

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

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

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

以上代码都不起作用。谁能帮我解决这个问题。

非常感谢。

还请告诉我,即使我被命令这样做,我这样做是否犯了严重错误。

最佳答案

id(变量)在这里未定义...它需要是一个与 .attr() 一起使用的字符串。 ,像这样:

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

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

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

关于javascript - 使用 jQuery 定位表单中的输入元素,无需手动调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4415267/

相关文章:

javascript - 在 Backbone 模型中定义实例变量的正确方法是什么?

javascript - 使用ajax提交表单后无法显示消息

jquery - ApexCharts - 使用appendSeries 添加多个系列不起作用

jquery - 具有所需宽度和集中式的 Bootstrap 导航栏

javascript - 点击前点击事件触发

javascript - h3 标签的监听器不起作用

javascript - 导入 Vuex 插件而不定义 Store

jquery - chzn-select 不需要的下拉列表创建了 jquery

Jquery:使用window.location获取特定的url路径

Jquery 不区分大小写的选择