首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用jQuery删除链接文本

使用jQuery删除链接文本
EN

Stack Overflow用户
提问于 2012-02-29 23:32:51
回答 2查看 526关注 0票数 0

我正在使用WordPress和2个不同的插件(每个帖子和页面的图标和多级导航)。使用第一个插件,我为每个页面选择一个图标,使用第二个插件,我构建了一个下拉菜单。

问题是,我只想显示页面图标,但插件仍在编写页面标题。我想用jQuery删除它。

这是为菜单生成的HTML:

代码语言:javascript
代码运行次数:0
运行
复制
<ul class="children" style="display: none; visibility: hidden; ">
  <li class="page_item page-item-514">
    <a href="http://www.pausoberriak.net/lan-emailea/onurak/?lang=eu">
      <img src="http://www.pausoberriak.net/wp-content/uploads/icons/beneficios.png" class="page_icon" alt="Onurak">Onurak</a>
  </li>
  <li class="page_item page-item-179">
    <a href="http://www.pausoberriak.net/lan-emailea/lan-emailea-formulak/?lang=eu">
      <img src="http://www.pausoberriak.net/wp-content/uploads/icons/formulas.png" class="page_icon" alt="Formulak">Formulak</a>
    <ul class="children" style="display: none; visibility: hidden; ">
          <li class="page_item page-item-183">
            <a href="http://www.pausoberriak.net/lan-emailea/lan-emailea-formulak/praktikak-enpresetan/?lang=eu">Praktikak enpresetan</a>
          </li>
      <li class="page_item page-item-186">
            <a href="http://www.pausoberriak.net/lan-emailea/lan-emailea-formulak/lanerako-zerbitzuak/?lang=eu">Zerbitzu Okupazionala</a>
          </li>
      <li class="page_item page-item-195">
            <a href="http://www.pausoberriak.net/lan-emailea/lan-emailea-formulak/kontratazioa/?lang=eu">Kontratazioa</a>
          </li>
        </ul>
  </li>
</ul>

我用这段代码删除了文本,在这种情况下,它应该删除"Onurak","Formulak","Praktikak enpresetan","Zerbitzu okupazionala“和"kontratazioa”:

代码语言:javascript
代码运行次数:0
运行
复制
<script type="text/javascript">
  jQuery('#suckerfishnav li li a').text("");
</script>

它可以工作,但它也会删除img标记和子ul。我只想删除链接文本,并有其他东西留下来。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-29 23:36:33

首先,块级元素在a元素中无效,即不能将ul元素放在a中。

您可以遍历所有子节点并仅删除文本节点:

代码语言:javascript
代码运行次数:0
运行
复制
jQuery('#suckerfishnav li li a').contents().each(function() {
    if(this.nodeType === 3) {
        this.parentNode.removeChild(this);
    }
});

代码语言:javascript
代码运行次数:0
运行
复制
jQuery('#suckerfishnav li li a').contents().filter(function() {
    return this.nodeType === 3;
}).remove()

参考: .contentsNode

票数 2
EN

Stack Overflow用户

发布于 2012-02-29 23:39:04

首先,我会尝试使用jQuery的子选择器,而不是您使用的"#suckerfishnav李詈a“。

像jQuery这样的命令(‘#suckerfishnav> li > li > a')可能会有所帮助。

http://api.jquery.com/child-selector/

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

https://stackoverflow.com/questions/9501954

复制
相关文章

相似问题

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