我需要将以下文本“遇到错误”更改为“Veuillezvérifierl'信息suivante:”我没有能够在不丢失其他文本格式的情况下执行此操作。
“遇到的错误”下面的无序列表中的项目不是常数,它会根据用户遗漏的内容而改变
<div style="" class="BBFormValidatorSummary" id="PC17178_formWizard_formWizard_ctl08">
Error(s) encountered:
<ul>
<li>Email: Required</li>
<li>Email: Required</li>
<li>Cardholder's Name: Required</li>
<li>Credit Card Number: Required</li>
<li>Credit Card Type:
</ul>
</div>
这是我尝试的但它删除了格式:
$('#PC17178_formWizard_formWizard_ctl08').each(function() {
var text = $(this).text();
$(this).text(text.replace('Error(s) encountered:', 'Veuillez vérifier l’information suivante:'));
});
答案 0 :(得分:1)
使用.html()代替.text()
。
答案 1 :(得分:1)
只需使用.html
instead即可。
或者,您可以尝试find the first text node并直接修改它。这比修改整个HTML块更安全,因为我们可以确定我们不会替换意外的东西。
答案 2 :(得分:1)
问题是您正在使用.text()
,它会从字符串中删除HTML元素。相反,如果您使用.html()
,它会保持HTML元素的完整性:
$('#PC17178_formWizard_formWizard_ctl08').each(function() {
var text = $(this).html();
$(this).html(text.replace('Error(s) encountered:', 'Veuillez vérifier l’information suivante:'));
});
改进小提琴: Fiddle
答案 3 :(得分:1)
在文本周围放置一个范围,以便您可以自行选择它。
<div style="" class="BBFormValidatorSummary" id="PC17178_formWizard_formWizard_ctl08">
<span class="error_prefix">Error(s) encountered:<span>
<ul>
<li>Email: Required</li>
<li>Email: Required</li>
<li>Cardholder's Name: Required</li>
<li>Credit Card Number: Required</li>
<li>Credit Card Type:
</ul>
</div>
然后你可以这样做:
$("#PC17178_formWizard_formWizard_ctl08 .error_prefix").text('Veuillez vérifier l’information suivante:');