javascript – 如何使用jquery查找最近的元素

前端之家收集整理的这篇文章主要介绍了javascript – 如何使用jquery查找最近的元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在SO中搜索过,我发现了很多例子,但是我的一切都有所不同.

1)最初我有一行,如果用户点击保存&下一个按钮会说你有3个字段丢失

2)如果用户点击addmore按钮,他没有在文本字段中键入任何值,那么他点击保存和下一个按钮,它应该仍然说3个字段缺少

3)如果用户键入克隆行中的任何一个字段,那么他点击保存,下一个按钮验证应该发生在我的代码前两个工作点

但是问题是如果用户点击更多的行,并且他键入任何一个克隆的字段,然后如果他点击安全,下一个按钮,所需的_Field类正在所有其他字段中应用,但它应该仅适用于该行:(

如果我们能够找到用户类型的字段中最接近的元素,那么我可以将required_Field类添加到这些元素中

我试过如下

@H_301_14@function additionalvalidation() { var myRow = $(".check").length; //$(".cloned_field").css("border","1px solid green"); $(".cloned_field").change(function() { var myField = $(".cloned_field").val().length; if (myField >= 0) { $(".cloned_field").addClass("required_Field"); debugger; $(".cloned_field").prevAll('label').find('span.required-star').removeClass('text-error-red'); //bind_validation(); } else { $(this).closest(".cloned_field").removeClass("errRed"); $(".cloned_field").removeClass("text-error-red"); } bind_validation(); return false; }); }

使用我目前的代码,我得到错误.

未捕获TypeError:无法读取未定义的属性“length”

@H_301_14@$(this).closest(".cloned_field").addClass("required_Field");

我也试过了

@H_301_14@$(this).closest(".cloned-row1").addClass("required_Field");

任何建议这个问题

我试过这个新的 – >

@H_301_14@$(this).closest(".cloned_field").css({"color": "red","border": "2px solid red"});

颜色红色和红色边框只适用于该领域不适用于行:(

Fiddle link为参考

解决方法

@mahadevan尝试这段代码.我在工作 @H_301_14@function additionalvalidation() { var myRow = $(".check").length; //$(".cloned_field").css("border","1px solid green"); $(document).on("change",".cloned_field",function() { var myField = $(this).val(); var $clonedDiv = $(this).closest('.cloned_div'); if (myField!='') { $clonedDiv.find(".cloned_field").addClass("required_Field"); $clonedDiv.find(".deg_date").addClass("required_Field"); $clonedDiv.find(".trans_date").addClass("required_Field"); $clonedDiv.find(".txt_degreName").addClass("required_Field"); debugger; $(".cloned_field").prevAll('label').find('span.required-star').removeClass('text-error-red'); //bind_validation(); } else { $clonedDiv.find(".cloned_field").removeClass("errRed"); $clonedDiv.find(".deg_date").removeClass("errRed"); $clonedDiv.find(".trans_date").removeClass("errRed"); $clonedDiv.find(".txt_degreName").removeClass("errRed"); //$(".cloned_field").removeClass("text-error-red"); } bind_validation(); return false; }); }

猜你在找的jQuery相关文章