首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助更改ul列表中父图像的src

需要帮助更改ul列表中父图像的src
EN

Stack Overflow用户
提问于 2013-02-20 01:11:43
回答 2查看 236关注 0票数 0

我有一个定制的手风琴菜单,每个可扩展的UL (toggle_action)旁边都有+链接来展开它的子菜单(div_toggle)。对于活动者

  • (正在查看的页面)我正在尝试遍历DOM并将任何plus.gif图像转换为其父文件旁边的minus.gif
  • 因为它们已经扩展了。我已经找了一天的大部分时间然后发疯了。下面是我的最新尝试,我认为肯定会奏效的。我没有任何错误-只是不起作用。 下面是我的HTML:<ul class="topnav"> <li><h3 class="toggle\_action"><img class="img-swap" src="/images/plus.gif"/>Governance</h3> <ul class="div\_toggle"> <li><h3><img src="/images/spacer.gif"/><a href="/governance">Governance</a></h3></li> <li><h3 class="toggle\_action"><img class="img-swap" src="/images/plus.gif"/>Board of Directors</h3> <ul class="div\_toggle"> <li><h3><img src="/images/spacer.gif"/><a href="/governance/bod" class="active">Board of Directors</a></h3></li> <li><h3><img src="/images/spacer.gif"/><a href="/governance/bod/min">Minutes</a></h3></li> </ul> </li> <li><img src="/images/spacer.gif"/><a href="/governance/com">Committees</a></h3></li> </ul> </li> <li><h3 class="toggle\_action"><img class="img-swap" src="/images/plus.gif"/>About</h3> <ul class="div\_toggle"> <li><h3><img src="/images/spacer.gif"/><a href="/about">About Us</a></h3></li> <li><h3><img src="/images/spacer.gif"/><a href="/about/contact">Contact</a></h3></li> </ul> </li> </ul> 和jQuery: $('.topnav a.active').parents().attr('src').replace('plus.gif','minus.gif'); 我做错什么了??提前感谢!
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-20 01:48:49

按照html嵌套的方式,它永远不会捕获<img>标记,因为它不被认为是active<img>标记的父级。

您应该考虑最明确地改变HTML的输出方式。

但是,这里有一个解决您的问题的解决方案,目前您的html是嵌套的。

代码语言:javascript
复制
$(".active").parents(".div_toggle").prev("h3:first").children(":first").addClass("plus");

$('h3.toggle_action img').each(function(){
    if ($(this).attr('src') && $(this).hasClass('plus') && $(this).attr('src').indexOf('plus.gif') > 0)
    {
        var imgSrc = $(this).attr('src').replace('plus.gif','minus.gif');
        $(this).attr('src', imgSrc);
    }
});

好的,这样做的是,它捕获"active" parents <h3><img>并向它添加一个名为"plus"的类,并在遍历<h3 class="toggle_action"><img>标记时使用这个类,确保抓取带有plus作为类的img标记,并将其他类更改为minus.gif映像。

希望这能帮到你。如果是的话,把它标记为你的答案。

票数 0
EN

Stack Overflow用户

发布于 2013-02-20 01:24:16

img标签不是a标签的父母,他们是兄弟姐妹。您希望使用.prev()而不是.parents()

如果不建议使用attr,则应该使用prop。你不需要使用replace,你只需要做prop('src', 'minus.gif')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14970623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档