我有这个div,我想在第一句话中添加一些样式。
<div class="text">dfgdfg.asdhasd</div>
我正在尝试此代码,但未按预期工作。
var text = $('.text').html().split(".")[0]+".";
$(".text:contains("+text+")").css("color", "red");
DEMO
最佳答案
仅在页面上只有一个.text元素时,这才起作用。
var elem = $('.text');
var textParts = elem.html().split(".");
var first = "<span class='red'>" + textParts.shift() + ".</span>";
elem.html(first + textParts.join("."));
如果有多个,则将需要每个循环。
var elems = $('.text');
elems.each( function(){
var elem = $(this);
var textParts = elem.html().split(".");
var first = "<span class='red'>" + textParts.shift() + ".</span>";
elem.html(first + textParts.join("."));
});
当然,这使用一个类来设置颜色,基本类将是
.text .red{
color: #FF0000;
}
运行示例:http://jsfiddle.net/a68dS/1/