使用里面的href链接填充<li>背景</li>

时间:2014-09-14 19:47:51

标签: javascript jquery html

我想将一个类应用于<li>,但我似乎没有找到任何方法。

这是我的HTML。

html标记:

<nav class="topNav">
     <ul>
          <li id="bannera" onclick="clickOnli(href='#banner')">
                <a href="#banner">Notify<img src="images/news-feed.png" class="topNavImages navNewsPic"></a>
          </li>
    </ul>
</nav>

jquery的:

<script type="text/javascript">
    $(document).ready(function()
    {
        var aChildren = $("nav li").children();
        var aArray = [];
        for (var i=0; i < aChildren.length; i++)
        {    
            var aChild = aChildren[i];
            var ahref = $(aChild).attr('href');
            aArray.push(ahref);
        }

        $(window).scroll(function()
        {
            var windowPos = $(window).scrollTop() + $(window).height()/1.5;
            var windowHeight = $(window).height();
            var docHeight = $(document).height();

            for (var i=0; i < aArray.length; i++)
            {
                var theID = aArray[i];
                var divPos = $(theID).offset().top;
                var divHeight = $(theID).height();

                if (windowPos >= divPos)
                {
                    $('a').removeClass("fillBlue");
                    $("a[href='" + theID + "']").addClass("fillBlue");
                }
            }

            if(windowPos + windowHeight == docHeight)
            {
                if (!$("nav li:last-child a").hasClass("fillBlue"))
                {
                    var navActiveCurrent = $(".fillBlue").attr("href");
                    $("a[href='" + navActiveCurrent + "']").removeClass("fillBlue");
                    $("nav li:last-child a").addClass("fillBlue");
                }
            }
        });
    });
</script>

我需要填写li背景而不是<a>链接/标记背景。如何更改此$("a[href='" + theID + "']").addClass("fillBlue");以便我可以填写此ID的背景信息。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

试试这个:

$("a[href='" + theID + "']").parent().addClass("fillBlue");