删除前导空格并替换多个空格

紫色11111

我在某个程序中有很多按钮。但是没有一个按钮具有特定的类。因此我通过下面的代码添加它们。

jQuery('.btn').each(function() {
  var btnFullText = jQuery(this).text();
  var btnText = btnFullText.replace(/\s+/g, '-').toLowerCase();
  jQuery(this).addClass(btnText);
});

到目前为止,这非常有效。但正如您可能没有猜到的那样。

一些按钮的编码如下:

<a class="btn btn-info" href="javascript:void(0);" onclick="Joomla.submitbutton('taskform.add');"><i class="icon-plus icon-white"></i> New Task</a>

它创建了一个这样的类,-new-task因为链接中有一个空格:

  1. 如何修改上面的代码以删除第一个单词之前的所有空格。
  2. 我怎样才能确保如果单词之间有多个空格,这只会变成一个-.

所以下面的所有示例链接都返回 new-task

<a><i class="icon-plus icon-white"></i> New Task</a>
<a><i class="icon-plus icon-white"></i>     New     Task</a>
<a><i class="icon-plus icon-white"></i>         New    Task</a>

PS1:在这种情况下我需要使用jQuery而不是$

PS2:如果您愿意,可以将以上代码更改为完全 Javascript/jQuery。

PS3:我无法更改程序中的链接。

PS4:我很想听到更好的标题建议。

到目前为止的代码从下面的评论中得到帮助

  jQuery('.btn').each(function() {
    var btnFullText = jQuery(this).text();
    var btnTrimmedText = btnFullText.trimLeft().replace(/\s+/g, '-').toLowerCase();
    var btnText = btnTrimmedText.replace(/-+/, '-');
    jQuery(this).addClass(btnText);
  });
塔普拉

$('a').each(function(){
    var $this = $(this);
    //get the text
    //trim the leading and trailing spaces
    //replace all occurances of one or more spaces with '-'
    //lowercase the result
    var clazz = $this.text().trim().replace(/\s+/g, '-').toLowerCase();
    
    //only do this if you don't want '--' in your ids
    clazz = clazz.replace(/-{2,}/g, '-');
    
    $this.addClass(clazz);
    console.log(clazz);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a><i class="icon-plus icon-white"></i> New Task</a>
<a><i class="icon-plus icon-white"></i>     New     Task</a>
<a><i class="icon-plus icon-white"></i>         New    Task</a>
<a><i class="icon-plus icon-white"></i>         New  -  Task</a>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式将多个空格替换为单个空格(不包括前导空格)

来自分类Dev

用空格替换前导零

来自分类Dev

删除字符串中的前导,尾随和多个空格

来自分类Dev

PRE标签删除前导空格

来自分类Dev

用sed删除前导空格

来自分类Dev

如何在Python中的单词之间删除多个空格而没有前导空格

来自分类Dev

插入多个空格替换

来自分类Dev

sed:全局替换时忽略前导空格

来自分类Dev

如何用单个空格替换多个空格?

来自分类Dev

删除尾随空格并将其添加为前导空格

来自分类Dev

为什么剥离不删除前导空格?

来自分类Dev

为什么AWK删除前导空格?

来自分类Dev

REGEX删除()中的前导和尾随空格

来自分类Dev

JavaScript删除前导和尾随空格

来自分类Dev

从字符串中删除前导空格

来自分类Dev

zsh函数输出删除前导空格

来自分类Dev

在可能的爆炸之前删除前导空格

来自分类Dev

用T-SQL中的前导空格替换短语-但也替换没有前导空格的短语

来自分类Dev

MS Access SQL:使用更新和替换以单个空格删除多个空格

来自分类Dev

删除文本之间的多个空格

来自分类Dev

如何用SED中的空格替换前导零?

来自分类Dev

如何在Linux中用空格替换前导零?

来自分类Dev

sed命令将多个空格替换为单个空格

来自分类Dev

用单个空格替换字符串中的多个空格

来自分类Dev

用单个空格替换所有多个空格

来自分类Dev

替换任何正斜杠和/或空格或多个空格

来自分类Dev

如何在Vim中用单个空格替换多个空格

来自分类Dev

用单个空格替换字符串中的多个空格

来自分类Dev

为什么“%-d”或“%-e”删除前导空格或零?

Related 相关文章

热门标签

归档