替换HTML元素中的字符

Replace characters in HTML elements

本文关键字:字符 元素 HTML 替换      更新时间:2023-09-26

我在一个页面上有一些文本,我使用变量获得这些文本

<p class="category-list-replace">ksadj| lksd| sakdj</p> 
<p class="category-list-replace">sdawfe| nekesa</p> 
<p class="category-list-replace">opeiuf| elnfele</p> 
var list = $('.category-list-replace');

文本分为三个不同的部分,因此变量返回3个对象。我想替换管道的任何实例;"|"改为逗号","。

var listnew = list.replace("|", ",");

不过,我被困在这里,无法解决如何拆分变量,以便每个变量都可以替换字符。

我建议使用text函数,例如:

var list = $('.category-list-replace');
list.text(function(i, text) {
    return text.replace(/'|/g, ",")
});

注意,这还使用带有全局标志(g)的正则表达式(/'|/)来替换多次出现的|字符。

$("#go").click(function() {
  var list = $('.category-list-replace');
  list.text(function(i, text) {
    return text.replace(/'|/g, ",")
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="category-list-replace">ksadj| lksd| sakdj</p> 
<p class="category-list-replace">sdawfe| nekesa</p> 
<p class="category-list-replace">opeiuf| elnfele</p>
<button id="go">Replace</go>

这是你想要的东西吗?

list.each(function() {
  var $element = $(this);
  var text = $element.text();
  $element.text(text.replace('|', ','));
});

看起来有3个html dom带有一个名为"category list replace"的类

lists = document.getElementsByClassName("category-list-replace")
var results = [];
for(i = 0; i < lists.length; i++) {
var contents = lists[i].innerHTML;
var texts = contents.split("|");
texts = texts.join(",");
results[i] = texts;
}

检查结果数组!