如何使用jquery更改label标签内的文本

Abd*_*yan 6 jquery

如何将文本更改Add Your ImageChange Your Image.

<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>
Run Code Online (Sandbox Code Playgroud)
$('.feedbackImg').text('Change Your Image');
Run Code Online (Sandbox Code Playgroud)

但它改变了label如下:

<label class="control-label col-md-offset-4 col-md-4 btn green feedbackImg" style="text-align:center;">
    Add Your Image
</label>
Run Code Online (Sandbox Code Playgroud)

这意味着它也删除了输入标签.除了文本之外,我怎么能保持一致?

Ror*_*san 6

如果您可以更改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>
Run Code Online (Sandbox Code Playgroud)
$('.feedbackImg span').text('Change Your Image');
Run Code Online (Sandbox Code Playgroud)

如果你不能改变HTML,那么你需要修改你的JS代码来检索和修改textNode本身:

$('.feedbackImg').contents().first()[0].textContent = 'Change Your Image';
Run Code Online (Sandbox Code Playgroud)