当id包含一个点时,如何通过ID和jQuery来选择html节点?

当id包含一个点时,如何通过ID和jQuery来选择html节点?

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

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

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

注:
请不要开始谈论桌子是如何不适合外出游玩的。我很清楚CSS的价值与不足尽可能多地使用它。


明月笑刀无情
浏览 645回答 3
3回答

慕桂英4014372

由于ID选择器必须前面有一个散列#,所以这里不应该有歧义。“#id.class”是一个有效的选择器,需要一个id和一个单独的类来匹配;它是有效的,并不总是完全多余的。选择文字‘.’的正确方法。在CSS中是要转义它:“#id\.more id”。这曾在一些较旧的浏览器(特别是IE5.x)中造成麻烦,但所有现代桌面浏览器都支持它。同样的方法在jQuery1.3.2中似乎也有效,尽管我还没有对它进行彻底的测试;QuickExpr没有得到它,但是涉及更多的选择器解析器似乎正确:$('#SearchBag\\.CompanyName');

守着一只汪

一个备选案文是:$("input[id='SearchBag.CompanyName']")
打开App,查看更多内容
随时随地看视频慕课网APP