jquery - 替换html以在具有相同类的div中添加空格

标签 jquery

我知道之前已经有人问过这个问题,但我找不到我的具体问题的正确答案。我想在小写和大写之间添加空格,仅在具有特定类的 div 中。

假设我有这个 html:

<div class='type'>CreditCard</div>
<div class='type'>DebitCard</div>

我希望这样:

<div class='type'>Credit Card</div>
<div class='type'>Debit Card</div>

使用此代码:

$('.type').html($('.type').html().replace(/([a-z])([A-Z])/g, "$1 $2"));

结果:

<div class='type'>Credit Card</div>
<div class='type'>Credit Card</div>

另请参阅https://jsfiddle.net/ny8h5rv4/

我做错了什么?假设我不知道div的内容(信用卡和借记卡只是一个例子)

$('.type').html($('.type').html().replace(/([a-z])([A-Z])/g, "$1 $2"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='type'>CreditCard</div>
<div class='type'>DebitCard</div>

最佳答案

您应该添加一个 for 循环。

$('.type').html() 只需获取第一个元素的 html 并应用于所有 $('.type')

$('.type').each(function(elem) {
  $(this).html($(this).html().replace(/([a-z])([A-Z])/g, "$1 $2"));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='type'>CreditCard</div>
<div class='type'>DebitCard</div>

关于jquery - 替换html以在具有相同类的div中添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41841976/

相关文章:

jQuery Validate - 检查是否需要控件而不触发验证

javascript - 添加表单中的所有值并在禁用的输入中显示

javascript - Bootstrap 警报附加和淡入/淡出

javascript - jQuery 从表单字段创建对象

javascript - PHP 表单保持在同一页面上

javascript - 登录表单电子邮件 ID 将使用 ajax 成功功能显示在密码重置表单中,无需刷新页面

jquery - Kendo UI 组合框虚拟化问题与少量本地数据

jquery - 如何通过选中和取消选中复选框来启用或禁用开关

javascript - 在 jquery 客户端中从服务器端格式化 Json 字符串

javascript - 在 jquery UI 扩展中使用 Html.EditorFor 生成的 ID