javascript - 如果单词尚未包装,如何将它们包装到 span 元素中?
问题描述
正如我在标题中所写 - 我正在寻找一种将单词包装成 span 元素的方法。仅当它们尚未包装时才应执行此操作。我完全不知道我该怎么做。我已经在下面尝试过,但这仅适用于第一次。当我第二次这样做时,如果它们已经被包装,旧词也会被包装 x 次。
function wrap() {
jQuery("div").html(jQuery("div").html().replace(/Johnny/g, '<span class="wrapper" contenteditable="false">Johnny</span>'));
}
div {
border: 1px solid;
}
.wrapper {
color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div contenteditable="true">My name is Johnny, My name is Johnny, My name is Johnny, My name is Johnny, My name is Johnny</div>
<button onclick="wrap()">Wrap Text</button>
所以希望有人知道我如何解决包装问题 - 也许用支票?
解决方案
尝试这个
function wrap() {
$(".wrapper").contents().unwrap();
$("div").html($("div").html().replace(/Johnny/g, '<span class="wrapper" contenteditable="false">Johnny</span>'));
}
推荐阅读
- mips - 了解字符串如何存储在 MIPS 中以及如何计算字符串中的字符数
- reactjs - 在 reactjs 中集成条带支付网关时出现 cors 问题
- pentaho - Pentaho 不会注册我的插件:注册 jar 插件时出现意外错误
- ssl - Wso2 Ei 6.3 自签名认证错误
- python - 如何从熊猫系列中的字符串中去除“$”符号?
- python-3.7 - ValueError:无法将字符串转换为浮点数:'ill afb'
- udp - NS3 中的 UDP 吞吐量计算
- pdf - 如何导出具有反转背景和文本颜色的 PDF
- erlang - Ejabberd 的 CPU 使用率很高,并将非活动用户显示为已连接
- c++ - 如何将对象指针数组的大小初始化为动态大小?