我有这个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/

10-07 19:37
查看更多