0

我有这个 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>

另外,我不一定知道那里会有什么文字。

4

5 回答 5

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">
于 2012-11-09T20:26:13.630 回答
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);
于 2012-11-09T20:26:00.960 回答
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')
于 2012-11-09T20:27:51.503 回答
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");
于 2012-11-09T20:28:55.980 回答
-2

一般来说,每当我有特定的文本要替换时,我都会<span>用一个 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>

编辑:将承认这不是问题内容中提到的问题的好解决方案 - 但认为它很好地回答了标题。

于 2012-11-09T20:28:16.813 回答