我想在鏈接中加下劃線的前幾個字母,類似於CSS首字母的工作方式,但字母數量可變。或者,強調單詞的前半部分可能很有用。任何方式相對簡單地用HTML,CSS或Javascript來做到這一點?加下劃線的前n個字符
(我不是開發人員,我向所有人開放的任何建議傳授給開發團隊;)
我想在鏈接中加下劃線的前幾個字母,類似於CSS首字母的工作方式,但字母數量可變。或者,強調單詞的前半部分可能很有用。任何方式相對簡單地用HTML,CSS或Javascript來做到這一點?加下劃線的前n個字符
(我不是開發人員,我向所有人開放的任何建議傳授給開發團隊;)
<a href="#" class="underline">This is text.</a><br/>
<a href="#" class="underline">More text.</a><br/>
<a href="#" class="">No underline.</a><br/>
<a href="#" class="underline">Underline me.</a><br/>
<a href="#" class="">Nada here though.</a><br/>
a,
a.underline {
text-decoration: none;
}
.underline span {
color: green;
text-decoration: underline;
}
var links = document.links;
var chars = 3;
for (var i = 0, total = links.length; i < total; i++) {
if (links[i].className.indexOf('underline') > -1) {
var text = links[i].innerHTML;
text = '<span>' +
text.substring(0, chars) +
'</span>' +
text.substring(chars);
links[i].innerHTML = text;
}
}
編輯:詞。
var links = document.links;
var chars = 3;
for (var i = 0, total = links.length; i < total; i++) {
if (links[i].className.indexOf('underline') > -1) {
var text = links[i].innerHTML.split(' ');
for (var p = 0, words = text.length; p < words; p++) {
text[p] = '<span>' +
text[p].substring(0, chars) +
'</span>' +
text[p].substring(chars);
}
links[i].innerHTML = text.join(' ');
}
}
EDIT:作爲一個功能。
var links = document.links;
var chars = 2;
for (var i = 0, total = links.length; i < total; i++) {
if (links[i].className.indexOf('underline') > -1) {
setUnderline(links[i], chars);
}
}
function setUnderline(link, chars) {
var text = link.innerHTML.split(' ');
for (var p = 0, words = text.length; p < words; p++) {
text[p] = '<span>' +
text[p].substring(0, chars) +
'</span>' +
text[p].substring(chars);
}
link.innerHTML = text.join(' ');
}
我不知道,如果你想更換第一N個字母中的鏈接或鏈接的每個單詞的第N個字母。如果是後者,嘗試用適當的替代,如
function(a) { return "<u>" + a + "</u>"; }
這裏更換正則表達式
new RegExp("\b\w{1," + N + "}", "g")
是一個例子:
您可以簡單地把̲
任何單詞後它變成了下劃線,它是一個HTML代碼。
<input type=button value=S̲end>
它變成:
發送
但是你可以創建一個JavaScript函數來爲你做,請參閱:
function underlineWord(pos,str){
str = str.substring(0,pos) + str[pos] + "̲" + str.substring(pos+1,str.length);
return str;
}
這樣一來,如果執行:
underlineWord(0,"string");
您將有:
小號̲特林
香草JS還是會像jQuery/Mootools的一個lib的工作? – 2011-12-27 20:20:49
爲什麼「開發團隊」不在這方面工作? – 2011-12-27 20:40:18
這是一個我在評估寶貴的開發人員時間之前要評估的交互概念。 (並不意味着你的時間不值錢...) – RussBB 2011-12-27 20:46:33