我有一個功能可以在標籤包裝時縮短某些詞(以適應各種分辨率)。我的功能正在工作,但我認爲它可以簡化...只是我不知道如何。隨着我在這裏添加更多的詞語,重複可以很快失控。我可以將長單詞/短單詞放在一個數組中,並且一次性提供所有內容嗎?我無法讓小提琴工作(儘管它在我的項目中工作),但是在這裏你走了。 http://jsfiddle.net/wucd1mws/1/在此先感謝!簡化替換特定單詞的工作函數?
if ($('label').height() > 20) {
alert('Text wrapped');
var numtext = $('label:contains("Number")')
if (numtext) {
numtext.each(function() {
$(this).html($(this).text().replace('Number', '#'));
});
}
var pertext = $('label:contains("Percent")')
if (pertext) {
pertext.each(function() {
$(this).html($(this).text().replace('Percent', '%'));
});
}
var invtext = $('label:contains("Invoice")')
if (invtext) {
invtext.each(function() {
$(this).html($(this).text().replace('Invoice', 'Inv'));
});
}
// etc...
}
我在想這很可能是縮短功能的第一步......現在餵養長/短的單詞對。
if ($('label').height() > 32) {
var long = "Number";
var short = "#";
var labelwrap = $('label:contains('+ long +')')
if (labelwrap) {
labelwrap.each(function() {
$(this).html($(this).text().replace(long, short));
});
}
}
你剛纔說「*重複*」嗎?我聽到「循環」... – Bergi 2014-10-10 12:45:35
例如,請嗎? – triplethreat77 2014-10-10 12:46:56
嗯,你剛剛編輯了這個循環的主體到你的問題。現在你只需要遍歷'long''short'對的結構(不管它是一個數組的數組還是一個簡單的鍵值對象) – Bergi 2014-10-10 12:49:34