使用YUI将类添加到当前活动链接

时间:2014-04-30 10:17:31

标签: javascript yui

我在jQuery中使用了这个函数:

jQuery(function() {
  jQuery('.primary-nav li').each(function() {
    var href = jQuery(this).find('a').attr('href');
    if (href === window.location.pathname) {
    jQuery(this).addClass('current');
    }
  });
});  

但遗憾的是我需要在YUI库中完成相同的操作。如果a href与当前活动页面相同,则向a元素添加一个类。

非常感谢!

2 个答案:

答案 0 :(得分:1)

替代方案:

YUI().use('node', function(){
    Y.all('.primary-nav li').each(function(node){
        var href = node.getAttribute('href');
        node.toggleClass('current', href === window.location.pathname); 
    });
});

如果第二个参数为true,则添加该类,否则将其删除。

答案 1 :(得分:0)

上面几乎直接翻译JQuery就像是:

YUI().use('node', function(){
    Y.all('.primary-nav li').each(function(node){
        var href = node.getAttribute('href');
        if (href === window.location.pathname){
            node.addClass('current');
        }
    });
});

但是,我想你可以这样做:

YUI().use('node', function(){
    Y.one('.primary-nav li a[href="' + window.location.pathname + '"]').addClass('current');
});

达到同样的效果。 (仅在我脑海中测试的代码)