如果我的 html 看起来像这样:
<td class="controlCell"> <input class="inputText" id="SearchBag.CompanyName" name="SearchBag.CompanyName" type="text" value="" /> </td>
如何使用 JQuery 选择 #SearchBag.CompanyName?我无法让它工作,我担心它是打破这一切的点。烦人的事情是重命名我所有的 id 会做很多工作,更不用说可读性的损失了。
注意: 请不要开始谈论如何不为布局而制作表格。我非常清楚CSS 的价值和缺点,并努力尽可能地使用它。
@Tomalak 在评论中:
由于 ID 选择器必须以哈希 # 开头,因此此处不应有歧义
“#id.class”是一个有效的选择器,需要一个 id 和一个单独的类来匹配;它是有效的,并不总是完全多余的。
在 CSS 中选择文字“.”的正确方法是转义它:“#id\.moreid”。这曾经在一些较旧的浏览器(特别是 IE5.x)中引起问题,但所有现代桌面浏览器都支持它。
相同的方法似乎在 jQuery 1.3.2 中有效,虽然我没有彻底测试过;quickExpr 没有选择它,但更多涉及的选择器解析器似乎是正确的:
$('#SearchBag\\.CompanyName');