比如有如下一段代码:
<p>我是第一段</p>
<p>我是第二段</p>
<p>我是第三段</p>
我从后端获取了数据,告知我要将第二个p标签内的后三个字符进行高亮,就是类似划个荧光黄线那样。
我知道可以通过定位,然后加span标签的形式去做。
但是现在这种形式不行,我们希望压根不要修改这段html代码?
请问还有什么方式可以实现这样的效果?
多谢
比如有如下一段代码:
<p>我是第一段</p>
<p>我是第二段</p>
<p>我是第三段</p>
我从后端获取了数据,告知我要将第二个p标签内的后三个字符进行高亮,就是类似划个荧光黄线那样。
我知道可以通过定位,然后加span标签的形式去做。
但是现在这种形式不行,我们希望压根不要修改这段html代码?
请问还有什么方式可以实现这样的效果?
多谢
其实用伪类很好搞定的,但是jquery无法选择到伪类:after,:before,不能通过js控制伪类的CSS,那只能给p加类名了,
css:
p.active:after{
content:'';
display:inline-block;
position: relative;
top:-5px;
border:1px solid red;
width:48px;
margin-left:-48px;
}
jquery:
$('p:nth-child(2)').addClass('active')
横线的宽度:width和margin-left是一样的,margin-left取负值,大小是字的个数×字体大小(3×16px)
横线的位置:通过top值可以调节
在线实例:
http://jsbin.com/puwupuhiwa/1...
不改变 HTML 的情况下加高亮!!!!
var a = 1;
这问题就像:请你在不对 a 赋值的情况下,让 a 等于 2。
解决方法就是,用一支荧光笔在屏幕上画,想亮哪段亮哪段,就不会改变 HTML。
页面的所有展示都是通过 HTML 来表现的。
退一步,你可以用 javascript 在你需要高亮的地方给他增加一个预设的 class
。
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
3 回答5.4k 阅读✓ 已解决
5 回答2.1k 阅读
3 回答2.6k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
样式是CSS控制,你总得让CSS选择到你要改变样式的地方,一端纯文字不加任何辅助的标签,怎么选择到其中的某些字符?