javascript - 将 html 标签添加到字符串中的每个字母

标签 javascript jquery html regex

我在一个 div 中有一串字母 - 比如这个......

<div>hello</div>

我想为字符串中的每个字母添加一个 html 标记,这样它就会是这样的

<div>
    <span>h</span>
    <span>e</span>
    <span>l</span>
    <span>l</span>
    <span>o</span>
</div>

由于此 div 中的字母将动态变化,因此它不能是静态的,因此我想使用 jquery 将跨度应用于字符串的每个字母。

如有任何帮助,我们将不胜感激 - 谢谢!

最佳答案

几个步骤:

  1. 抓取文本内容并创建单个字符数组,
  2. 清空原来的容器,
  3. 将每个字母添加为一个 span 元素。

代码:

$('div').each(function() {
    var letters = $(this).text().split(''),
    $container = $(this).empty();

    $.each(letters, function(_, letter) {
       $('<span>', {text: letter}).appendTo($container);
    });
});

Demo

关于javascript - 将 html 标签添加到字符串中的每个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23488292/

相关文章:

javascript - 比较键后如何将对象列表转换为嵌套对象

jquery ajax 休息调用 - 不支持的媒体类型

javascript - 如何在 Jquery 中访问模型属性(列表)

javascript - 使用ajax mysql php上传图片

javascript - 如何在 ng-repeat 中添加多个 ng-repeats?

javascript - 如何为打开表单的大量按钮创建可重用组件

c# - 从 Controller 控制我的 asp View 中的 javascript 代码是否将被执行

html - 为什么我的 Bootstrap Pills 下拉菜单不起作用?

javascript - 更改 ASP.NET 下拉框的样式

javascript - DataTable 中隐藏可搜索数据