在 <p> 元素中插入<跨度>
Insert <span> in <p> element
我明白了;
<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>");
或者(正如您在评论中所说,您想保留现有内容,但将最后一个单词包装在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 更好:
j查询:
$("#paragraphID").append("<span>World</span>");
.HTML:
<p id="paragraphID">Hello</p>
相关文章:
- 将样式表插入iframe
- 无法在ajaxStart中更改跨度文本
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 如何动态插入jquery代码
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 动态插入的表:JQuery未检测到最后一行
- 使用JavaScript动态插入DIV的成本有多高
- 获取每种语言的跨度标题,并插入新的跨度中
- 在 dom 元素中插入跨度而不覆盖子节点
- 微小的MCE插入符号定位,同时移入和移出跨度
- 在
元素中插入<跨度>
- 在跨度单击时 - 通过页面刷新将行插入 MySQL
- 在跨度位置插入图像
- 插入跨度后将文本节点合并在一起
- 在动态生成的表之后插入一个来自jQuery的跨度
- Chrome execCommand'insertHTML'当插入符号在节点内部时,在节点外部插入跨度
- JS插入两个连续的文本节点在一个跨度不当时,不在调试模式
- 如何在指定索引处将多个跨度插入HTML元素中
- 在表中插入唯一的时间跨度
- 插入文本到一个不确定数目的跨度,For循环Javascript