javascript - 在单词的前 n 个字符下划线

标签 javascript html css

我想在链接中的单词的前几个字符下划线,类似于 CSS 首字母的工作方式,但字母数量可变。或者,在单词的前半部分下划线可能会有用。有什么方法可以用 HTML、CSS 或 Javascript 相对简单地做到这一点?

(我不是开发人员,我愿意接受所有人以及任何可以传递给开发团队的建议;)

最佳答案

<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;
    }
}

http://jsfiddle.net/hMEHB/

编辑:单词。

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(' ');
    }
}

http://jsfiddle.net/hMEHB/1/

编辑:作为一个函数。

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(' ');
}

http://jsfiddle.net/hMEHB/2/

关于javascript - 在单词的前 n 个字符下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8648867/

相关文章:

javascript - 响应式导航栏仅适用于我的主页

javascript - 如何显示日历而不显示输入类型=日期的输入框?

javascript - Target This 和 Class 没有按预期工作

javascript - FadeOut 伪元素

c# - 如何调用外部javascript函数到ajax

javascript - 使用 onclick 显示具有相同 div 类名的 2 个 div 的内容

html - 使用 HTML 对齐和对齐文本

javascript - 避免包含特定类元素的最后一个元素的样式

javascript - 我已经在滚动上制作了动画,但是我想要应用的样式阻止了它的工作

javascript - IOS7 innerWidth & Co. 疯了吗?