Простым, но, вероятно, неточным решением является использование псевдоселектора :contains
:
$('ul.main-menu').find('li:has(a:contains(' + MainMenu + '))').addClass('active');
Это добавит класс active
к родительскому li node
, который содержит anchor
, который содержит строку. Точнее точное соответствие:
$('ul.main-menu, ul.sub-menu').find('a').each(function(_, anchor) {
var $anchor = $(anchor),
parts = $anchor.attr('href').split(/\//);
if( parts[0] === MainMenu || parts[1].indexOf(SubMenu) > -1 ) {
$anchor.addClass('active');
}
});
http://jsfiddle.net/MKH3Y/