我有一个ID看起来像的元素link-21-'some-text''''sometext'-1
。
我没有选择更改源代码中的id
的选择。有没有办法使用ID来选择它们?jQuery("#link-21-'some-text''''sometext'-1")
出于明显原因抛出错误。有什么解决办法吗?
最佳答案
由于它包含某些特殊含义的字符,请使用attribute equals selector或escapes the special meaning character。
检查j Query selctor docs:
要将任何元字符(例如!“#$%&'()* +,。/ :; ?@ [] ^`{|}〜)用作名称的文字部分,必须使用两个反斜杠进行转义:\。例如,具有id =“ foo.bar”的元素可以使用选择器$(“#foo \ .bar”)。W3C CSS规范包含the complete set of rules regarding valid CSS selectors。是Mathias Bynens在CSS character escape sequences for identifiers上的博客条目。
因此,就像跟随或逃避每个元字符一样。
jQuery('[id="link-21-'some-text''''sometext'-1"]')