如何使用jQuery更改特定文本?

时间:2012-11-09 20:23:33

标签: javascript jquery html text replace

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

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

5 个答案:

答案 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>
编辑:会承认这对于问题内容中引用的问题不是一个好的解决方案 - 但是认为它很好地回答了标题。