我正在尝试将
的每个实例替换成w的多行(如字符“ w”。)
这些行如下:
<li class="list-group-item horaire-list-item">
Monday, Tuesday, Thursday, Friday : 12:00 to 14:00 et 18:00 to 20:30
</li>
<li class="list-group-item horaire-list-item">
Wednesday : 12:00 to 14:00 et 16:00 to 20:30
</li>
<li class="list-group-item horaire-list-item">
Saturday : 12:00 to 20:30
</li>
<li class="list-group-item horaire-list-item">
Sunday, Holidays : 09:00 to 20:30
</li>
我已经使用代码打击成功地使用replace(/a/g, 'e')
将“ a”的实例替换为“ e”,因此我知道我的代码是可以正常工作的。
我的代码如下:
var laHoraireElements = document.getElementsByClassName('list-group-item horaire-list-item');
for ( liJ = 0; liJ < laHoraireElements.length; liJ++ ) {
laHoraireElements[liJ].innerText = laHoraireElements[liJ].innerText.replace(/ /g, 'w');
alert(laHoraireElements[liJ].innerText);
}
预期结果是
的实例将被替换为'w',但是
的任何实例都不会被修改。原因可能是什么?
答案 0 :(得分:0)
已经在HTML中呈现为空格,因此没有任何
实例可以替换。如果您想保持原样,可以转义它,允许您使用正则表达式替换对其进行修改。正如@barmar所述,使用innerHTML也会达到目的:
var laHoraireElements = document.getElementsByClassName('list-group-item horaire-list-item');
for (liJ = 0; liJ < laHoraireElements.length; liJ++) {
laHoraireElements[liJ].innerHTML = laHoraireElements[liJ].innerHTML.replace(/ /g, 'w');
}
<li class="list-group-item horaire-list-item">
Monday, Tuesday, Thursday, Friday : 12:00 to 14:00 et 18:00 to 20:30
</li>
<li class="list-group-item horaire-list-item">
Wednesday : 12:00 to 14:00 et 16:00 to 20:30
</li>
<li class="list-group-item horaire-list-item">
Saturday : 12:00 to 20:30
</li>
<li class="list-group-item horaire-list-item">
Sunday, Holidays : 09:00 to 20:30
</li>
答案 1 :(得分:0)
使用innerHTML
而不是innerText
。 innerText
包含呈现的文本,但是实体是HTML标记的一部分。
答案 2 :(得分:-1)
您需要使用innerHTML
属性,因为在innerText
中
将被替换为char(160)
字符。
演示:
var items = document.getElementsByClassName('list-group-item horaire-list-item');
for (var i = 0; i < items[0].innerText.length && i < 20; i++)
{
console.log(
i + ": " +
items[0].innerText.charAt(i) + " | CharCode = " +
items[0].innerText.charCodeAt(i));
}
for (var liJ = 0; liJ < items.length; liJ++ ) {
items[liJ].innerHTML = items[liJ].innerHTML.replace(/ /g, 'w');
}
<li class="list-group-item horaire-list-item">
Monday, Tuesday, Thursday, Friday : 12:00 to 14:00 et 18:00 to 20:30
</li>
<li class="list-group-item horaire-list-item">
Wednesday : 12:00 to 14:00 et 16:00 to 20:30
</li>
<li class="list-group-item horaire-list-item">
Saturday : 12:00 to 20:30
</li>
<li class="list-group-item horaire-list-item">
Sunday, Holidays : 09:00 to 20:30
</li>