我有这个HTML代码:
<label class="checkbox" id="check_rem0">
Checkbox
<input type="checkbox" disabled="disabled" id="form_checkbox_0">
</label>
有没有办法在我的情况下只替换标签Checkbox
中的文字,而不删除/替换输入?
如果我$('.checkbox').text('Anoteher Checkbox')
我会得到:
<label class="checkbox" id="check_rem0">
Anoteher Checkbox
</label>
另外,我不一定知道会有什么文字。
答案 0 :(得分:5)
请勿将输入嵌套在标签内。将两者与<label for="form_checkbox_0">
相关联。这样你就可以根据需要操作文本。
<label class="checkbox" id="check_rem0" for="form_checkbox_0">
Checkbox
</label>
<input type="checkbox" disabled="disabled" id="form_checkbox_0">
答案 1 :(得分:0)
$('#check_rem0').html('Another text <input type="checkbox" disabled="disabled" id="form_checkbox_0">');
或更正确:
var a = $('#check_rem0').html();
b = a.replace('Checkbox', 'Another text');
$('#check_rem0').html(b);
答案 2 :(得分:0)
将label =中的'for'参数设置为输入元素的id。
<label for="form_checkbox_0" class="checkbox_0_label>Checkbox</label>
<input type="checkbox" disabled="disabled" id="form_checkbox_0">
那你的JS:
$('.checkbox_0_label').text('Another Checkbox')
答案 3 :(得分:0)
您的HTML应如下所示:
<label class="checkbox" id="check_rem0" for="form_checkbox_0">
Checkbox
</label>
<input type="checkbox" disabled="disabled" id="form_checkbox_0">
将其作为HTML,您可以执行以下操作:
$("#check_rem0").text("Another checkbox");
答案 4 :(得分:-2)
通常,每当我要替换特定文本时,我都会将其包含在带有ID的<span>
中,然后更改范围的文本。
例如:
...
<h1>This is a heading with some <span id="change">embedded text</span> I'd like to change </h1>
...
<script type="text/javascript">
$(document).ready(function() {
$("#change").html("changed text");
});
</script>
编辑:会承认这对于问题内容中引用的问题不是一个好的解决方案 - 但是认为它很好地回答了标题。