jQuery属性选择器无法识别的表达式错误

Mou*_*ark 1 javascript jquery

我正在使用以下代码从导航无序列表中选择当前页面的列表项,但我一直收到无法识别的表达式错误 'a[href$="{server-relative URL}"]'

我检查了其他问题提到的匹配引号/括号,链接不包含通常/ & ? %的字符我正在使用的代码是:

$(document).ready(function() {
    var pathname = window.location.pathname;
    var selector = "'a[href$=\"" + pathname + "\"]'";
    var listItem = $(selector).parent().parent();
    listItem.addClass('selected');
});
Run Code Online (Sandbox Code Playgroud)

我正在使用jQuery 1.8.2(最新版本).谢谢!

Jac*_*cob 6

问题是你用单引号将选择器包围起来.只需改变这一行:

var selector = "'a[href$=\"" + pathname + "\"]'";
Run Code Online (Sandbox Code Playgroud)

......对此:

var selector = 'a[href$="' + pathname + '"]';
Run Code Online (Sandbox Code Playgroud)

  • 注意 - 带斜杠的地址必须在引号中:)例如.这将工作:[id = song1],但这不会:[id = songs/song01.mp3],所以你只需要它[id ="songs/song01.mp3"] :) (2认同)