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

2024-05-02

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

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

如何使用 JQuery 选择#SearchBag.CompanyName? 我无法让它工作,我担心是这个点破坏了这一切。 烦人的是,重命名我所有的 id 将是一项繁重的工作,更不用说可读性的损失了。

Note:
请不要开始谈论表格不是为了布局而制作的。我非常清楚CSS的价值和缺点 http://meyerweb.com/eric/thoughts/2009/02/17/wanted-layout-system/并尽可能地努力使用它。


评论中的@Tomalak:

由于 ID 选择器前面必须有一个哈希#,所以这里不应该有歧义

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

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

同样的方法似乎在 jQuery 1.3.2 中也有效,尽管我还没有彻底测试过; QuickExpr 没有接收到它,但更复杂的选择器解析器似乎可以正确处理:

$('#SearchBag\\.CompanyName');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当id包含点时,如何使用jquery通过ID选择html节点? 的相关文章