javascript - 为什么 Jquery 无法识别 id 为 "houseNumber[x]"的元素

标签 javascript jquery html

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

   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');

这提供了完美的值(value)。方括号使 Jquery 认为这是某种选择器模式,但我们提到 #这就是id .

如果我遗漏了一些东西,请教育我。

最佳答案

由于[]是元字符,因此需要使用\\

转义元字符
$('#houseNo\\[0\\]').attr('name');

Docs

To use any of the meta-characters ( such as !"#$%&'()*+,./:;<=>?@[]^`{|}~ ) as a literal part of a name, it must be escaped with with two backslashes: \\.

关于javascript - 为什么 Jquery 无法识别 id 为 "houseNumber[x]"的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34223391/

相关文章:

javascript - 我的 onlick 有 2 个功能 - 但我需要一个功能在另一个功能之后触发?

JavaScript 获取最近单击的字符的页面坐标

javascript - Chrome 开发工具 - 将网络资源映射到本地文件不起作用

javascript - 悬停时交换背景

jquery - 我如何理解此复选框行为?

html - 在html中添加mapbox的位置选择器

html - 如何减少表格中的边框间距?

javascript - WordPress:将图像从一种形式传递到另一种形式

javascript - Sequelize include 不适用于 hasOne 关系

javascript - 将 Parantsis 之间的字符串插入数组数组时遇到问题