如果 id 有 '.',则 JQuery 选择器逻辑失败在价值。有啥解决办法吗?

Posted

技术标签:

【中文标题】如果 id 有 \'.\',则 JQuery 选择器逻辑失败在价值。有啥解决办法吗?【英文标题】:JQuery selector logic fails if id has '.' in the value. Any solution?如果 id 有 '.',则 JQuery 选择器逻辑失败在价值。有什么解决办法吗? 【发布时间】:2010-09-17 12:14:22 【问题描述】:

我正在为我的 Web 应用程序使用 Spring Forms。对于嵌套属性,form 标签生成具有 id/name 形式的输入元素。

例如,Person 是命令类,而 Address 包含在其地址字段中,那么 city 元素将是,

<input type="text" id="address**.**city" name="address**.**city" />

现在,问题是每当我尝试使用 jQuery 获取它的值时,

$("#address.city").val();

jQuery 未能选择任何合适的元素!

请告诉我任何解决方案。

提前致谢。

【问题讨论】:

不是解决方案,但您的问题似乎缺少各种文本。也许值得重新编辑这些内容,让想要帮忙的人更容易。 【参考方案1】:

试试这个:

$("#address\\.city").val();

来自the documentation:

注意:如果您希望将上述任何元字符用作名称的文字部分,则必须使用两个反斜杠 (\) 转义该字符。例如:

#foo\\:bar
#foo\\[bar\\]
#foo\\.bar

【讨论】:

'ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("- ")、下划线 ("_")、冒号 (":") 和句点 (".")' - w3.org/TR/html401/types.html#type-name【参考方案2】:
$('[id="address.city"]') 

也可以

【讨论】:

以上是关于如果 id 有 '.',则 JQuery 选择器逻辑失败在价值。有啥解决办法吗?的主要内容,如果未能解决你的问题,请参考以下文章

如果选择框选项更改,则 JQuery 验证不起作用

如果选择了单选,则jQuery show hide div

jQuery选择器与JavaScript易出错知识点

如果有兄弟姐妹,则 jquery 兄弟姐妹()似乎包括选择器,但如果没有,则不包括

jQuery:如果选择元素存在则做某事

jQuery:如果 DatePicker UI 更改,则更新某个文本框