定位<h1>元素</h1>中的最后一个单词

时间:2012-05-08 08:59:54

标签: jquery

有谁知道这是否可以在jQuery中实现。将/ addClass定位到元素的最后一个单词,在本例中为h1标记内的单词“Text”。请记住,我知道我可以使用span标记来定位最后一个单词,但我正在使用具有%My_heading%标记之类的CMS。 (不完全是,但我希望这是理解的)

<h1>Some Heading Text</h1>

4 个答案:

答案 0 :(得分:4)

如果你需要在最后一个单词中添加课程,你无论如何都需要用标签包围它。

最简单的方法之一是使用正则表达式:

$("h1").html(function(index, old) {
    return old.replace(/(\b\w+)$/, '<span class="myClass">$1</span>');
});​

DEMO: http://jsfiddle.net/Dy4vh/

答案 1 :(得分:2)

    $('h1').html(function(index, curHTML) {
       var text = curHTML.split(/[\s-]/),
           newtext = '<span class="some">' + text.pop() + '</span>';
       return text.join(' ').concat(' ' + newtext);
     });

答案 2 :(得分:1)

这样的东西
//Split the string into words
var last_arr = $('h1').text().split(' ');
//Get the last one
var last = last_arr[last_arr.length - 1];

小提琴http://jsfiddle.net/KZFX4/

答案 3 :(得分:1)

你的意思是:

var txt = $("h1").text();
var splitted = txt.split(" ");
var lastWord = splitted.pop();
var newTxt = splitted.join(" ") + "<span class='someclass'> " + lastWord + "</span>";
console.log(newTxt);

小提琴:http://jsfiddle.net/7qUb6/