小编典典

当id包含点时,如何使用jquery按ID选择html节点?

all

如果我的 html 看起来像这样:

<td class="controlCell">
    <input class="inputText" id="SearchBag.CompanyName" name="SearchBag.CompanyName" type="text" value="" />
</td>

如何使用 JQuery 选择 #SearchBag.CompanyName?我无法让它工作,我担心它是打破这一切的点。烦人的事情是重命名我所有的 id
会做很多工作,更不用说可读性的损失了。

注意:
请不要开始谈论如何不为布局而制作表格。我非常清楚CSS
的价值和缺点,
并努力尽可能地使用它。


阅读 121

收藏
2022-07-27

共1个答案

小编典典

@Tomalak 在评论中:

由于 ID 选择器必须以哈希 # 开头,因此此处不应有歧义

“#id.class”是一个有效的选择器,需要一个 id 和一个单独的类来匹配;它是有效的,并不总是完全多余的。

在 CSS 中选择文字“.”的正确方法是转义它:“#id\.moreid”。这曾经在一些较旧的浏览器(特别是
IE5.x)中引起问题,但所有现代桌面浏览器都支持它。

相同的方法似乎在 jQuery 1.3.2 中有效,虽然我没有彻底测试过;quickExpr 没有选择它,但更多涉及的选择器解析器似乎是正确的:

$('#SearchBag\\.CompanyName');
2022-07-27