javascript - 当括号中的变量值破坏我的 addClass 时,jquery 是转义括号

标签 javascript jquery

我正在尝试添加一个类来动态添加的输入元素。

   $(function(){

 //the elements that are added dynamically.

 $('#addItem').click(function(){
      var form = "<tr id='"+i+"'><td>Quantity</td>
                     <td><input class='qty quan total chk' 
                                type='text' id='qty["+i+"]'   
                                name='qty["+i+"]'>
                    </td>";
 });

 //when user click submitThis button, this checks for blanks
   $(document).on('click','#submitThis',function(){
                    var error = 0;
                    $(".chk").each(function(){
                            var id = $(this).attr('id');
                            if ($(this).val().length < 1){
                                $('#'+id).addClass('error');
                                error++;
                            }
                    });
           });

我猜这似乎失败了,因为 var id 包含括号并且出现所有错误。输入需要是用于表单发布的数组,因为它可能是大量输入,并且在处理方面要容易得多。我知道元素已正确添加,并且我正在正确监听,因为如果我在 addClass 之后发出警报,如果我添加一些数据,我会看到输入的值,所以对我来说,为什么不添加该类没有什么意义。该类被添加到其他非动态添加的字段中。我知道 if 语句返回 true。

最佳答案

您已经拥有要尝试选择的元素 (this),只需使用它即可。

$(this).addClass('error');

或者你可以转义括号

$('#'+id.replace('[','\\[').replace(']','\\]')).addClass('error');

关于javascript - 当括号中的变量值破坏我的 addClass 时,jquery 是转义括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28229041/

相关文章:

jQuery 在悬停时显示内容

javascript - 使用 jQuery AJAX 函数调用返回 PDF 的 php 文件

jquery - 在外部单击时关闭由 .slideToggle 操作的 jQuery 菜单

javascript - 使用不显眼的 Javascript 插入包含 Rails RESTful URL 的元素?

javascript - 在 a 标签上使用 onclick 显示 div

javascript - 将属性 javascript 合并到新对象中

javascript - 在 Github 存储库中包含其他 CSS/JS 库的最佳方式?

javascript - 谷歌地图 : setCenter and panTo not working

javascript - 服务器收到请求时的 AJAX 事件 - 在处理请求之前

jquery - 两个版本的Jquery冲突