选择具有特定类的锚元素

时间:2013-05-09 08:23:06

标签: javascript jquery class selector

我想用javascript选择启用菜单的锚点,这是一个小图片,当我点击它时,它应该更改背景类以突出显示菜单。 更改类工作,我尝试document.onclick并且它工作,但当我尝试特定包装> nav> a.menu-enabled它不会选择它。 我试过了:

var menu = document.getElementById('nav'); 
var anchor = menu.getElementsByTagName('a');

能够点击每个链接只是为了测试,但它没有用。

我试过了:

var anchor = menu.getElementsByClassName('menu-enabled');

然后

anchor.onclick...` but still no result :(

尝试使用jquery
   $("a.menu-enabled").onclick = function() 但仍然没有结果

目前设置为单击文档中的任意位置,直到完成为止。

    <script>
    document.onclick = function() {
    $(".overlay").toggleClass("overlay-show");
    } 
    </script>


<div id="wrapper">
        <div class="logo">
                <a href="index.html">Tro</a>
            </div>
        <nav id="nav" class="menu-icon">
                <a class="menu-enabled">&nbsp;</a>
                <a class="link-enabled" target="_blank">&nbsp;</a>
                <a class="prev-disabled">&nbsp;</a>
                <a class="next-disabled">&nbsp;</a>
                <a class="back-disabled">&nbsp;</a>
            </nav>
            <div class="overlay">
        <nav class="meniu">
                <a href="#1">Link 1</a>
                <a href="#2">Link 2</a>
                <a href="#3">Link 3/a>
                <a href="#4">Link 4</a>
            </nav>

编辑1:摆弄http://jsfiddle.net/bFXZj/

编辑2:好的,我认为问题是我无法点击按钮,尝试了其他内容并且它有效,我认为z-index是问题,很快就会回复。

编辑3:可能是因为我给了锚一个背景?

nav.menu-icon a.menu-enabled{
    background: url(http://www.xxx.xx/menu.png) no-repeat 0 0;
    background-size: 24px 24px;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    opacity: 1;
    visibility: visible;
    z-index: 99;
}

2 个答案:

答案 0 :(得分:0)

jQuery版本将是这样的:

$(document).ready(function(){
    $('a.menu-enabled').click(function(e){
        // Do something
    });
});

而不是$("a.menu-enabled").onclick = function()

修改

更新了您的jsFiddle,它可以正常运行:http://jsfiddle.net/bFXZj/1/

答案 1 :(得分:0)

尝试

$(document).ready(function(){
    $(document).on('click', 'a.menu-enabled', function(e){
        // Do something
    });
});