2

I use jquery to highlight my menu. And here is my html look like

<div id="menu">
    <div class="item"><a href="?product=abc">ABC</a></div>
    <div class="item"><a href="?product=XYZ">XYZ</a></div>
    <div class="item"><a href="?product=Test">Test</a></div>
</div>

assumed that i got value of current querystring: urlParams["product"] (by using Andy E's code in here)

$(document).ready(function() {
        $("#menu").find("a[href='?product=" + urlParams["product"] + "']").addClass("selected");
    });

It only work if querystring exactly like a href. How can I make it non-case sensitive? Thank you very much

Community
  • 1
  • 1

1 Answers1

1

You can use .toLowerCase() method:

$("#menu").find("a").filter(function(){
    return this.href.toLowerCase().indexOf(urlParams["product"].toLowerCase()) > -1;
}).addClass("selected");

Or:

var query = urlParams["product"].toLowerCase();

$("#menu a").filter(function(){
   return this.href.split('=')[1].toLowerCase() === query;
}).addClass("selected");

http://jsfiddle.net/RuYkn/

Ram
  • 143,282
  • 16
  • 168
  • 197