我喜欢;
<p>Variable Text</p>
我希望它成为;
<p>Variable <span>Text</span></p>
这可以通过javascript函数实现吗?/ 或 jQuery。
哦,是的,p 元素有一个 ID,p 元素中的文本是可变的,但总是由 2 个单词组成。我想要一个 javascript 函数围绕文本的最后一个单词。
我喜欢;
<p>Variable Text</p>
我希望它成为;
<p>Variable <span>Text</span></p>
这可以通过javascript函数实现吗?/ 或 jQuery。
哦,是的,p 元素有一个 ID,p 元素中的文本是可变的,但总是由 2 个单词组成。我想要一个 javascript 函数围绕文本的最后一个单词。
试试这个
var txt = "Hello bye";
var dataArr = txt.split(' ');
var paragraph = document.getElementById("pid");
paragraph.innerHTML = dataArr[0]+ " <span>"+dataArr[1]+"</span>";
这是一个演示
这是可能的(下面假设p
有一个ID,就像你说的那样),你可以用最简单的形式:
var paragraph = document.getElementById("pId");
paragraph.innerHTML = "Hello <span>World</span>";
或者如果你想使用 jQuery:
$("#pId").html("Hello <span>World</span>");
或者(正如您在评论中所说,您想保留现有内容,但将最后一个单词包装在 a 中span
,您可以这样做:
var newHTML = $("#pId").html().replace(" ", " <span>");
$("#pId").html(newHTML).append("</span>");
我想分享一个 jQuery 解决方案,它与您的p
元素中定义的任何单词无关
$("p").html(function(){
var mystring= $(this).text().split(" ");
var lastword = mystring.pop();
return mystring.join(" ")+ (mystring.length > 0 ? " <span>"+ lastword + "</span>" : lastword);
});
在上面的演示中,我首先拆分字符串,然后使用pop
获取数组中的最后一个索引,然后添加span
元素并使用返回字符串join
$("document").ready(function(){
$("p").append("<span>world</span>");
});
使用 JQuery 追加
$("#paragraphId").append('<span>Text in span</span>');
jQuery 更简单,我个人认为它比仅使用 javascript 更好:
jQuery:
$("#paragraphID").append("<span>World</span>");
HTML:
<p id="paragraphID">Hello</p>