2012-11-13 70 views
1

我用下面的代码可以选择从导航无序列表当前页面列表中的项目,但我不断收到关于'a[href$="{server-relative URL}"]'jQuery的属性选择器无法识别的表达错误

我检查匹配的引号无法识别的表达错误/支架,其他的问题提了,该链接不包含字符超出了通常的/ & ? %我正在使用的代码是:

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

我使用jQuery 1.8.2(最新版本)。谢谢!

+1

为什么' “'',当只有一个分隔符(无论是'”'或''')应该是足够了吗? – raina77ow

+1

仔细检查你的报价,这就是问题。 – elclanrs

回答

6

问题是,你用单引号括住你的选择器。只是改变这一行:

var selector = "'a[href$=\"" + pathname + "\"]'"; 

...这样的:

var selector = 'a[href$="' + pathname + '"]'; 
+0

D'oh。漫长的一天! – Mourndark

+2

注 - 带斜线的地址必须在引号中:)例如。这将工作:[id = song1]但这不会:[id = songs/song01.mp3],所以你只需要它[id =“songs/song01.mp3”] :) –

+0

谢谢这个解决方案让我天 – DownDown

相关问题