我如何将包含$(this)的函数应用于选择器的范围

How can I apply a function containing $(this) to range of selectors?

本文关键字:函数 应用于 范围 选择器 this 包含      更新时间:2023-09-26

我有一个小问题。我想对表单上的所有输入使用通用函数来验证表单。该函数处理不同类型输入的复杂性,等等。

函数调用如下所示:

$(":input[type='text']").blur(function() {validateMe($(this).attr("id"), button_arr);});

这里的问题是,$(this)似乎只适用于第一个元素"模糊",所以任何模糊事件发生后,第一个应用第一个选择器模糊,如果这有意义吗?

button_arr部分无关紧要。

是否有办法将$(this)应用于$(":input[type='text']")指定的集合中的每个元素?

谢谢你的帮助!

我猜你是这个意思:

$("input[type='text']").each(function () {
    $(this).blur(function () {
        validateMe(this.id, button_arr);
    });
});

I guess

$("input[type='text']").blur(function() {
    validateMe(this.id, button_arr);
});

也应该这样做吗?为什么在选择器中使用冒号?我想它返回一个集合。所以你可以去掉不必要的each-loop

编辑:

我想你的意思是选择器":input",而不是":input[type='text']"?因为选择器只选择属性"type"设置为"text"的输入字段。也许你就有这个?"textarea", "button"answers"select"没有值为"text"的属性"type"