1

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

<h1>Some Heading Text</h1>
4

4 回答 4

4

如果您需要在最后一个单词中添加类,则无论如何都需要用标签将其包围。

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

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

演示:http: //jsfiddle.net/Dy4vh/

于 2012-05-08T09:08:10.543 回答
2
    $('h1').html(function(index, curHTML) {
       var text = curHTML.split(/[\s-]/),
           newtext = '<span class="some">' + text.pop() + '</span>';
       return text.join(' ').concat(' ' + newtext);
     });
于 2012-05-08T09:10:59.340 回答
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/

于 2012-05-08T09:02:25.863 回答
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/

于 2012-05-08T09:05:25.957 回答