我有以下HTML:
<div class="task-manager">
<label>Manager: <input type="text" value="" /></label>
</div>
我需要动态修改标签管理器的文本。 我尝试使用JQUERY文本方法,但它也替换了输入类型。
$taskTemplate.find(".task-manager label").text("M123")
答案 0 :(得分:2)
您可以使用:
$taskTemplate.find(".task-manager label").contents().get(0).nodeValue = "M123:";
答案 1 :(得分:1)
您应该更改HTML代码,因为<input>
字段位于<label>
内,当您更改此标签的值时,它也会覆盖并删除输入表单字段:
<div class="task-manager">
<label>Manager:</label> <input type="text" value="" />
</div>
答案 2 :(得分:1)
只需将输入标记移到label
标记之外,因为当您更新标签文本时,它会删除标签内容(这显然会删除输入标记inside
),所以更改像这样的代码
HTML code:
<div class="task-manager">
<label for="title">Manager:</label>
<input type="text" id = 'title' value="" />
</div>
JS代码:
$('.task-manager label').text('Deputy Manager :');
Live Demo @ Jsfiddle: http://jsfiddle.net/dreamweiver/w6arp71x/
注释/建议:for
属性已添加到标签以默认情况下将input
绑定到label
快乐编码:)
答案 3 :(得分:0)
$taskTemplate.find(".task-manager label").contents().get(0).nodeValue = "M123:"
这适用于:)