【问题标题】:why Jquery is not recognizing elements with ids like "houseNumber[x]" [duplicate]为什么 Jquery 不能识别具有像“houseNumber [x]”这样的 id 的元素 [重复]
【发布时间】:2016-03-17 08:35:02
【问题描述】:

我有一个表格,您必须在其中输入房屋的属性,例如名称,编号等。 在相同的表格中,他们会提到您必须输入这些属性的房屋数量。根据房屋数量,我正在为每个房屋生成这样的输入字段。

   var text1 = '<input type="text" min="1" id="houseNo[' + i + ']" class="Houseno form-control" name="projectConfigurationDetails[' + i + '].houseNo">';

之后,当我尝试像这样读取值时

  $('#houseNo[0]').attr('name');

它给了我undefined 经过一些跟踪和错误后,我们通过删除方括号将id 更改为"houseNo' + i + '"。然后

$('#houseNo0').attr('name');

这提供了完美的价值。让 Jquery 认为这样的方括号是一些选择器模式,但我们提到 # 所以那是 id

如果我遗漏了什么,请教育我。

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    由于[]是元字符,需要转义元字符使用\\

    $('#houseNo\\[0\\]').attr('name');
    

    Docs

    使用任何元字符(例如 !"#$%&'()*+,./:;?@[]^`{|}~ )作为 a 的文字部分名称,必须用两个反斜杠转义:\\.

    【讨论】:

      【解决方案2】:

      如果您对使用数组不感兴趣,请考虑使用下划线 (houseNo_3)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-06
        • 1970-01-01
        • 2018-08-25
        相关资源
        最近更新 更多