同时更改两个标签

时间:2013-02-04 10:18:38

标签: javascript jquery html

http://jsfiddle.net/6yjRL/

HTML

<html>
    <body>
        <label id="num1label"/>
        +
        <label id="num2label" />
    </body>
</html>

JS

var num1 = Math.floor((Math.random() * 10) + 1);
var num2 = Math.floor((Math.random() * 10) + 1);

$(function () {
    $("#num1label").text(num1);            
    $("#num2label").text(num2);
});

我想要的结果是显示“5 + 2”的文字。但是只有一个标签会更改值,而“+”会因某种原因被删除。

3 个答案:

答案 0 :(得分:5)

错误的元素,错误的标记。使用:

<html>
    <body>
        <span id="num1label"></span>
        +
        <span id="num2label"></span>
    </body>
</html>

您的代码失败,因为<label>标记不是自动关闭的;宽容的浏览器认为它们应该是嵌套的,并且你忘记了结束标记,所以它会以这种方式呈现它们。

但是,<label>标记用于为输入元素提供注释。正确使用时,它必须与<form>元素关联,作为后代或通过form属性(HTML5)。对于内嵌文本,您可以(并且)使用<span>元素。

答案 1 :(得分:1)

您不能省略label元素的结束标记。结果标记不是您的想法。

答案 2 :(得分:0)

将您的HTML更改为此

<body>
        <label id="num1label"></label>
        +
        <label id="num2label"></label>
    </body>