如何使用jquery更改标签标记内的文本
如何将文本如何使用jquery更改标签标记内的文本,jquery,Jquery,如何将文本添加图像更改为更改图像 <label class="control-label col-md-offset-4 col-md-4 btn green feedbackImg" style="text-align:center;"> Add Your Image <input type="file" name="data[Feedback][img]" class="form-control hide single_img_btn" id="1" sty
添加图像
更改为更改图像
<label class="control-label col-md-offset-4 col-md-4 btn green feedbackImg" style="text-align:center;">
Add Your Image
<input type="file" name="data[Feedback][img]" class="form-control hide single_img_btn" id="1" style="display: none;">
</label>
但它将标签更改如下:
<label class="control-label col-md-offset-4 col-md-4 btn green feedbackImg" style="text-align:center;">
Add Your Image
</label>
添加您的图像
这意味着它也会删除输入标记。除了文本外,我如何保持所有内容不变?如果您可以更改HTML,则只需将要更改的文本包装在span
中,以便于选择:
<label class="control-label col-md-offset-4 col-md-4 btn green feedbackImg" style="text-align:center;">
<span>Add Your Image</span>
<input type="file" name="data[Feedback][img]" class="form-control hide single_img_btn" id="1" style="display: none;">
</label>
如果无法更改HTML,则需要修改JS代码以检索和修改textNode本身:
$('.feedbackImg').contents().first()[0].textContent = 'Change Your Image';
您需要更新textNode
-用于获取所有节点,包括文本和注释
-获取第一个元素,即textNode(标签)
-使用新文本更新文本内容
代码:
$('.feedbackImg').contents().eq(0).replacetwith('Change Your Image')代码>
添加您的图像
将html更改为
<label class="control-label col-md-offset-4 col-md-4 btn green feedbackImg" style="text-align:center;">
<span class="image_label">Add Your Image</span>
<input type="file" name="data[Feedback][img]" class="form-control hide single_img_btn" id="1" style="display: none;">
</label>
$('.image_label').text('Change Your Image');