1
我正在開發一個網站項目,並且我有一個包含項目列表的段落(它可以很好地作爲ul
,但需要保留p
)需要具有每個項目的第一個字母加粗。我創建了一個函數來做到這一點:使用javascript迭代字符串並添加標籤
function inserter(string, splitter, skip) {
var array = string.split(splitter);
var len = array.length;
for(var i = 1; i < len; i++) {
var a = array[i];
var b = '<b>';
var c = '</b>';
if(a.substr(0, 3) != skip){
array[i] = splitter + b + a.substr(0,1) + c + a.substr(1);
} else {
array[i] = splitter + a;
}
}
var strFix = array.join("");
return strFix;
}
$(function(){
var text = $(".caps").html();
text = inserter(text, ': '); //bold the item after ': '
text = inserter(text, ', ', 'and'); // now bold after the comma ', ' and the skip variable which matches first three letters so the last and doesn't get bold
text = inserter(text, ', and '); //now for the item after the last 'and'
$(".caps").html(text);
});
但它需要被調用和字符串迭代每一個不同的分路器(這可能破壞網頁上的表現比其中的幾個更多),而且我我想知道如何在一次迭代過程中查看所有分離器?
示例頁面:
當您看到的頁面,你會看到,我將在多個段落jQuery的幻燈片內這樣做。
如果看起來這不會對速度較慢的瀏覽器造成影響,我會保持原樣。
感謝有關如何做得更好的建議。你可以讓
是啊,這是一個好主意 - 我可以去掉else語句完全即可;它只是證明有時你不能在你自己的代碼中看到明顯的東西!謝謝。 – jonkratz 2010-11-02 17:36:01
@JonKratz:如果此答案有幫助,請考慮對其進行upvoting或接受它(單擊複選標記)。這將爲您贏得聲譽和良好的意願,未來您的問題將更有可能得到解答。 – Robusto 2010-11-02 17:51:44
這很有幫助,我很欣賞它,但就回答關於使其更大範圍內的性能更有效的問題(或者如何測試它以確定是否需要)而言,它不會完全回答。 – jonkratz 2010-11-03 20:57:35