首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从字符串替换字符的jQuery方法

从字符串替换字符的jQuery方法
EN

Stack Overflow用户
提问于 2016-11-17 16:37:41
回答 6查看 162关注 0票数 1

我有一个生成的导航,第一个n项的前面有_,总是位于列表的首位。我现在想要完成的是从站点的前端删除该_

我试着用下面的jQuery代码来完成这个任务,但是它也改变了其他nav条目的文本。

参见JS Fiddle:https://jsfiddle.net/1fz661o4/上的完整标记

代码:

代码语言:javascript
运行
复制
$(function() {
  $('.dropdown-submenu').html($('.dropdown-submenu').html().replace(/\_/g,''));
});
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-11-17 16:47:41

你可以把它更改成在锚上循环。

代码语言:javascript
运行
复制
$(function() {
    $('.dropdown-submenu > a').each(function() {
        $(this).text($(this).text().replace(/\_/g, ''));
    });
});

https://jsfiddle.net/utk12jdt/1/

票数 3
EN

Stack Overflow用户

发布于 2016-11-17 16:47:06

基本上,您只想删除.dropdown-submenu的直接子锚中的下划线吗?在你的小提琴里,用$('.dropdown-submenu')代替$('.dropdown-submenu > a')

JSFiddle:https://jsfiddle.net/26qLofz8/

代码语言:javascript
运行
复制
$(function() {
      $('.dropdown-submenu > a').html($('.dropdown-submenu > a').html().replace(/\_/g,''));
});

编辑:

在你回答之后,现在的问题已经很清楚了。为了防止您的<li>成为软件一,您需要遍历所有要替换的元素,如下所示:

代码语言:javascript
运行
复制
$(function() {
  $('.dropdown-submenu > a').each(function(i, el) {
      $(el).html($(el).html().replace(/\_/g,''));
  });
});

JSFiddle:https://jsfiddle.net/n7ms67k0/

票数 2
EN

Stack Overflow用户

发布于 2016-11-17 16:47:31

可以将.html()重载与提供现有html的函数一起使用:

代码语言:javascript
运行
复制
$('.dropdown-submenu').html(function(index, html) { return html.replace(/\_/g,''); });

更新小提琴:https://jsfiddle.net/1fz661o4/2/

或者,您可以循环遍历每条记录:

代码语言:javascript
运行
复制
$('.dropdown-submenu').each(function() {
   $(this).html($(this).html().replace(/\_/g,''));
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40660325

复制
相关文章

相似问题

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