使用jquery为某些单词加下划线

SOL*_*UNE 2 javascript css jquery

我有以下内容:

HTML:

<span id="plus-shipping">+ Shipping</span>
Run Code Online (Sandbox Code Playgroud)

CSS:

span#plus-shipping {
    bottom: 25px;
    font-weight: bold;
    padding-left: 10px;
    position: relative;
    text-decoration: underline;
}
Run Code Online (Sandbox Code Playgroud)

我如何设置下划线所以它只是运费而不是+

Dav*_*mas 7

最简单的选择是将'shipping'字符串包装在另一个标记中,例如span并仅将下划线应用于span:

#plus-shipping > span {
    text-decoration: underline;
}

<span id="plus-shipping">+ <span>Shipping</span></span>
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示.

我还尝试使用CSS生成的内容::before来生成+角色,不幸的是(至少在Chrome 18/Win XP中)这继承了其"父" #plus-shipping元素的下划线,即使text-decoration: none是显式声明的.

  • 下划线不是继承的.问题是`:: before`元素实际上位于_inside_ span,所以span的下划线扩展到它下面. (2认同)