我在某個程序中有很多按鈕。但沒有一個按鈕具有特定的類。因此我通過下面的代碼添加它們。刪除前導空格和替換多個空格
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
類:
- 我如何能適應上面的代碼只是刪除第一個單詞前的所有空格。
- 我如何確保如果字詞之間存在多個空格,那麼這個字段只會變成一個
-
。
所以下面回報所有示例鏈接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);
});
你查找 「左修剪的JavaScript」 – epascarello
@epascarello無不是爲簡單的原因我不知道所有這些條款。所以我不只是去查找它們。但我只是因爲你的評論而做了。所以非常感謝你。我是否正確地認爲在進行替換之前必須先進行修剪? – purple11111
您可以修剪()該值,然後用'-'替換空格,然後用'-'替換任何發生的' - +'來擺脫重複項。 – Taplar