首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据超链接的值使用mootools删除超链接?

如何根据超链接的值使用mootools删除超链接?
EN

Stack Overflow用户
提问于 2013-03-12 13:19:31
回答 1查看 164关注 0票数 0

在下面的代码中,如何根据超链接的值删除li?

代码语言:javascript
复制
<ul class="clean menu sub">
    <li>
        <a cat="tech" class="sec_net_1" href="javascript:void(0);" name="&amp;lid=choose_category_internet_fios" rel="1">FiOS Internet</a>
    </li>
    <li>
        <a cat="tech" class="sec_net_1" href="javascript:void(0);" name="&amp;lid=choose_category_internet_hsi" rel="1">High Speed Internet</a>
    </li>
    <li class="last" style="margin-bottom:7px;">
        <a cat="tech" class="sec_net_1" href="javascript:void(0);" name="&amp;lid=choose_category_internet_dialup" rel="1">Dial-up</a>
    </li>
</ul>

我在一个变量中获取超链接的值。现在,根据该值,其他2个li应该被删除。我们如何使用mootools来实现这一点?

现在,如果我得到flag=“拨号”,其他2个li应该被删除,代码应该如下所示:

代码语言:javascript
复制
<ul class="clean menu sub">
    <li class="last" style="margin-bottom:7px;">
        <a cat="tech" class="sec_net_1" href="javascript:void(0);" name="&amp;lid=choose_category_internet_dialup" rel="1">Dial-up</a>
    </li>
</ul>

这里我从服务器获取Flag的值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-12 14:47:12

如果您可以利用链接名称,则解决方案只需一行:

http://jsfiddle.net/5axJc/

代码语言:javascript
复制
$$("ul.menu :not(a[name='&li=choose_category_internet_dialup']) !> li").destroy()

在一个集合上调用destroy (我会在产品代码中使用document.getElements )会在其中的每个元素上调用你的方法。

在选择表达式中有几个深奥的选择符,也许它值得更深入的解释:

  • ul.menu是基于selector
  • :not(aname='&li=choose_category_internet_dialup')的普通类

根据与值匹配的name属性选择链接!> is a parent selector

因此,您可以将选择器读作:

选择菜单ul中的所有li,它们是锚点的父亲,而锚点的名称不是您想要的值。

编辑

要只选择作为搜索到的li的父级的li,只需使用ul.sub a[name='&lid=choose_category_internet_fios'] !> li选择它,然后使用~ li选择所有同级。结果是这样的。

代码语言:javascript
复制
$$("ul.sub a[name='&lid=choose_category_internet_fios'] !> li ~ li").dispose()

注意,我们已经去掉了:not()选择器。对我来说,这是一种更线性的完成任务的方式。

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

https://stackoverflow.com/questions/15353859

复制
相关文章

相似问题

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