html - 如何使用 JavaScript 更改标签的文本?
问题描述
有一个标签和一个输入元素。
<div id="mydiv" class="my-div-class"><label id="id-label">abc<input type="text" id="id-text"></label></div>
现在我想更改标签的文本(例如从 abc 到 efg)
这不会改变它:
$('#id-label').html('efg');
这使得输入消失:
$('#id-label').html('efg');
$('#id-label').html('efg');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="mydiv" class="my-div-class"><label id="id-label">abc<input type="text" id="id-text"></label></div>
解决方案
您的输入元素位于标签内,因此您将擦除内容
这会更好
注意:如果标签不需要任何标记,请使用 .text() 而不是 .html
$('#id-label').text('Prompt: ');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="mydiv" class="my-div-class">
<label id="id-label" for="id-text">abc</label>
<input type="text" id="id-text">
</div>