特定のプログラムに多数のボタンがあります。しかし、ボタンのどれも特定のクラスを持っていません。したがって、私はそれらを以下のコードで追加します。先頭の空白を削除し、複数の空白を置き換える
jQuery('.btn').each(function() {
var btnFullText = jQuery(this).text();
var btnText = btnFullText.replace(/\s+/g, '-').toLowerCase();
jQuery(this).addClass(btnText);
});
これまでのところ、これは非常にうまく動作します。しかし、あなたは完全には推測していないかもしれません。
いくつかのボタンは、次のようにコーディングされている:リンク内のスペースがあるので、この-new-task
ようなクラスを作成します
<a class="btn btn-info" href="javascript:void(0);" onclick="Joomla.submitbutton('taskform.add');"><i class="icon-plus icon-white"></i> New Task</a>
:
- がどのように私は削除に上記のコードを適応させることができます最初の単語の前のすべてのスペース。
- 単語間に複数のスペースがある場合、これは1つの
-
になることを確認するにはどうすればよいですか。
だから、リターン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);
});
以下のコメントから助けを借りて、あなたはありません@epascarello全然簡単なため – epascarello
"左JavaScriptをトリム" 調べました私はこれらの言葉をすべて知っているわけではありません。だから私はそれらを見上げるだけではありません。しかし、私はちょうどあなたのコメントのためにしました。それでは大変ありがとうございます。交換を行う前に、私が正しく調整しなければならないと正しく仮定していますか? – purple11111
値を 'trim()'した後、スペースを '-'に置き換えて、' --'の出現箇所を '-'だけ置き換えて重複を取り除きます。 – Taplar