给父母一个背景图片?

时间:2012-02-15 17:15:18

标签: jquery

我想要做的是给父母一张背景图片。

所以我在菜单中有一个子菜单。

这是我正在尝试的jquery ..

$('li.on').closest('ul').parent('li').css({ backgroundImage: 'url(/content/images/point.png)', backgroundRepeat: 'no-repeat' }); ;  

我认为我在父母位上出错了?

这是菜单......

<div class="sideMenu2">
    <ul>
        <li><a href>retail</a>
           <ul class="subsideMenu2">
                <li ><a href="/portfolio/5/0">cabot circus</a></li>
                <li><a href="/portfolio/6/0">st. stephen&#39;s</a></li>
                <li><a href="/portfolio/7/0">silverburn</a></li>
                <li><a href="/portfolio/8/0">the elements</a></li>
           </ul>
        </li>
        <li><a href>sports &amp; leisure</a>
           <ul class="subsideMenu2">
                 <li class= "on"><a href="/portfolio/19/0">test</a></li>
           </ul>
        </li>
   </ul>  

所以,如果我点击测试,体育和休闲应该得到背景,但目前零售是。

2 个答案:

答案 0 :(得分:1)

看起来您忘了绑定click处理程序。在用户点击锚点(<a>)时阻止默认操作也很重要。

$('li.on a').on('click', function(event) {
  event.preventDefault();
  $(this).closest('ul').parent('li').css({
    'backgroundImage': 'url(/content/images/point.png)',
    'backgroundRepeat': 'no-repeat'
  });
});

演示:http://jsfiddle.net/qHUT4/

答案 1 :(得分:0)

零售业正在获得它的原因是因为你在jquery表达的开头表示你有$('li.on')。这是在零售业中选择li所以当它正在上升其影响零售时。

您需要获得正确的第一个jquery表达式才能获得正确的目标。这可能就像将其更改为$(this)一样简单,如果它在点击处理程序中,但您所做的事情将取决于上下文。

相关问题