为单词的前 n 个字符添加下划线

2024-01-12

我想在链接中的单词的前几个字符下划线,类似于 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/ http://jsfiddle.net/hMEHB/

EDIT: Words.

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/ http://jsfiddle.net/hMEHB/1/

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为单词的前 n 个字符添加下划线 的相关文章

随机推荐

  • 向我解释尾部调用优化的重要意义是什么以及为什么 Python 需要它

    显然 对于 Python 是否需要尾部调用优化 TCO 一直存在很大争议 当有人向 Guido 发送了一份 SICP 副本 http drj11 wordpress com 2009 04 30 python tail call optim
  • 是否可以在自定义 AuthorizeAttribute 类中使用 RedirectToAction() ?

    使用 ASP Net MVC 2 有什么方法可以使用重定向到动作 http msdn microsoft com en us library system web mvc controller redirecttoaction aspx的方
  • VB.NET 中的 XML 文字可以递归吗?

    我有一堂课叫Profile它有一些简单的属性 然后它可以有一个集合配置文件项它又具有一些简单的属性 然后它可以有一个集合配置文件项 递归 现在我尝试使用 VB NET 3 5 附带的 XML Literals 生成一个非常简单的保存函数 我
  • 绑定:在“YYY”上找不到“XXX”属性,目标属性:“Xamarin.Forms.Label.Text”

    我正在使用 Xamarin Forms 和 MVVM 我在日志中收到以下内容 绑定 在 YYY 上找不到 XXX 属性 目标属性 Xamarin Forms Label Text 不确定它是否相关 但是当我更新命令函数中的变量时 该变量的更
  • React:将 props 传递给函数组件

    我有一个关于道具和功能组件的看似微不足道的问题 基本上 我有一个容器组件 它在用户单击按钮触发的状态更改时呈现模态组件 模态是一个无状态函数组件 其中包含一些需要连接到容器组件内部函数的输入字段 我的问题 当用户与无状态模态组件内的表单字段
  • IndexedDB回调不更新AngularJS中的UI

    我正在使用以下库在新的 Chrome 应用程序上访问 Angularjs 中的 IndexedDB https github com aaronpowell db js https github com aaronpowell db js
  • 左右滑动可更改活动

    所以我有一个活动 其中有一个导航抽屉 我停用了滑动以打开该导航抽屉 仅当我单击该菜单的按钮时它才会打开 现在我想通过滑动来更改活动 就像在 iPhone 中一样 我已经这样做了 但我不确定这是正确的方法 这是我的代码 GestureDete
  • Installshield - 使用 powershell 检查注册表中的密钥失败

    我有一个带有 powershell CA 的 Installshield 项目 它检查某个注册表项是否存在并根据结果设置属性 手动执行脚本时注册表检查成功但失败 返回false当从Installshield执行时 CA 在 UI 序列期间执
  • 将.apk文件发送给客户审核

    我开发了一个 Android 应用程序 并在模拟器和设备上对其进行了测试 我想将 apk文件导出到客户端进行审核 我使用应用程序清单文件导出未签名的 apk 并将其发送 但它没有安装在他的手机上 我在这里阅读了多个问题 但没有得到任何具体信
  • jwt.verify() 的 Node.js 回调

    我的 Node js 服务器上有一个身份验证路由 用于对请求进行身份验证 app get loggedin auth function req res console log req authenticated res send req a
  • SQLite eventim 的时间输入和时间退出

    我有两张桌子 DATA and EVENTS 具有以下数据 EVENTS EventIndex ObjID LocID EventData EventTime EventType 83707365 3519434 10376 0 2013
  • pandas to_numeric downcast='signed' 返回 float64

    我有一个数据集 其中 pandas read csv 处理适当地将一些连续数字列 特征 变量数据从对象转换为 float64 int64 或 uint8 但不是其他数据 因此 然后我尝试使用以下指定向下转换参数的 pandas to num
  • 如何使用 Javascript 停止 YouTube 中的视频?

    情况 here http yvoschaap com videowall q sunset 20beautiful我在那里按了一些视频 Problem 我尝试在 Firebug 控制台中通过 Javascript 停止视频 player s
  • 从另一个表和不同的数据库更新表

    基本上 我想做的是 我的第一个数据库 prc 中有一个表 users 如下所示 prc user id user 45 name user Test login user test pwd user test 在我的第二个数据库 名为 pr
  • 使用 awk 替换 CSV 文件中的列值

    我有这个文件 错误日志 00 00 00 284 501 00 00 00 417 5 5294100071980 00 00 02 463 501 00 00 05 169 501 00 00 05 529 501 00 00 05 73
  • Delphi - 通用 TList 排序

    我正在使用 Generics Collections TList 和 Sort 方法 它工作正常 但我想最后对空值或空值进行排序 按升序和降序排序 如何实施 这是我的排序功能 function TForm SortByColumn Colu
  • 按行项目条件更改 MudBlazor 表背景颜色

    我正在尝试更改 mudblazor 表中一行的颜色 问题是 我无法添加根据行元素的条件更改颜色的功能
  • WPF 中的 PagedCollectionView 等效项?

    net 3 5 或 4 0 中是否有像 Silverlight 中的 PagedCollectionView 这样的 WPF 等效类 不 没有 但你可以从这里获取 https silverlight svn codeplex com svn
  • 确定可能的项目组的算法

    我正在摸不着头脑试图做到这一点 这让我筋疲力尽 我知道事情没那么复杂 我有很多物品 这个数量可以等于或大于三 然后我需要确定完成总数的项目组的可能组合 唯一的限制是小组应该有三个或更多项目 不超过 但包括 七个项目 例如 如果我有 7 个项
  • 为单词的前 n 个字符添加下划线

    我想在链接中的单词的前几个字符下划线 类似于 CSS 第一个字母的工作方式 但字母数量可变 或者 在单词字母的前半部分下划线可能会很有用 有什么方法可以使用 HTML CSS 或 Javascript 相对简单地完成此操作吗 我不是开发人员