Глючит атрибут [foo=bar]

В очередной раз мучения с js. Простая ситуация. Версия jquery 1.5.1
<ul>
	<li><a href="/home/bob/code/menu.html">Главная</a></li>
	<li><a href="articles.html">Статьи</a></li>
</ul>
var b = document.location.pathname;
 var c = $('a[href='+b+']');
 //alert(a);
 var d = $.type(b)=== "string"
 console.log(c);
 console.log(b);
 console.log(d);
на выходе[] /home/bob/code/menu.html trueдругие варианты не прокатывают var c = $('a[href=document.location.pathname]'); инвалид var c = $("a[href="+document.location.pathname+"]"); так должно работать, но пишет синтаксическая ошибкато есть bar должен быть только строкой, а не выражением. Как сделать, чтобы выражение можно было подставить или переменную ? если это вообще возможно...
3 ответа

Не правильно указываете аттрибут: $('a[href="b"]');
$('a[href="'+document.location.pathname+'"]');


Не правильно указываете аттрибут: $('<font color="Blue">a[href=<font color="red">"</font>b<font color="Red">"</font>]</font>'); <pre class="prettyprint linenums">$('a[href="'+document.location.pathname+'"]'); </pre>
ага второй вариант сработал, а вот первый нетvar c = $('a[href="'+b+'"]') вот такой вариант проходит. Получается в общем случае переменную нужно обрамлять в доп. кавычки.


romanco, думал b это не переменная, а строка для примера; сорри, недоглядел.