Javascript jQuery选择带有正斜杠的href
我有一个链接Javascript jQuery选择带有正斜杠的href,javascript,jquery,html,backbone.js,Javascript,Jquery,Html,Backbone.js,我有一个链接 我尝试使用jQuery通过 $([a[href=foo/bar]) 但我遇到了以下错误: 错误:语法错误,无法识别的表达式:a[href=foo/bar] 如果没有/,此方法可以正常工作,但是/存在,因为我的主干应用程序中有路由。我更愿意避免设置id的额外标记,因为此方法适用于所有其他方法。是否有任何方法可以使用带有此斜杠的href属性选择此?在您的示例中,您缺少结束单引号。应该是: $(“a[href='foo/bar'])围绕href值的单引号 $("a[href='foo/
我尝试使用jQuery通过
$([a[href=foo/bar])
但我遇到了以下错误:
错误:语法错误,无法识别的表达式:a[href=foo/bar]
如果没有
/
,此方法可以正常工作,但是/
存在,因为我的主干应用程序中有路由。我更愿意避免设置id的额外标记,因为此方法适用于所有其他方法。是否有任何方法可以使用带有此斜杠的href属性选择此
?在您的示例中,您缺少结束单引号。应该是:
$(“a[href='foo/bar'])
围绕href值的单引号
$("a[href='foo/bar']")
用两个反斜杠来逃避它
$("a[href=foo\\/bar]")
使用本地测试环境,如果我运行
console.log($($a[href=foo/bar])
我得到了Alexander所说的语法错误、无法识别的表达式
,而不是对正斜杠进行转义,正斜杠运行正常。这里有一个截图:如果“运行良好”意味着没有投掷就不能工作;它应该是console.log($([a[href='foo/bar']);它运行得更好,因为它不会抛出并可能实际命中某些元素…$(“a[href=foo/bar]”
不会抛出,根本不起作用。我已经编辑了我的答案,以适应foo/bar值周围的单引号。虽然不是很优雅,但如果排除单引号,转义也会起作用。没有合法href看起来像“blah.com/about\/more”,那么转义的反斜杠有什么意义呢?这与href的“合法”外观无关。它是关于脚本如何正确选择所需元素的。我没有要求他更改
href值。如何修复语法错误并形成一个合法的选择器“与实际问题无关”?tis’css3;引号在属性选择器中很重要!看起来你可以把马牵到水边,但他可能会把你踢到池塘里……对不起。我的错误。我已经尝试了单引号,但我有一个不同的问题,导致选择失败。谢谢@helion3