1

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”的文本。但是只有一个标签改变了值,并且“+”由于某种原因被删除。

4

3 回答 3

5

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

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

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

However, the <label> tag is used for providing an annotation for an input element. Correctly used, it must be associated with a <form> element, either as a descendant or through the form attribute (HTML5). For in-line text you can (and should) use the <span> element.

于 2013-02-04T10:21:40.410 回答
1

您不能省略label元素的结束标记。生成的标记不是您想的那样。

于 2013-02-04T10:21:02.853 回答
0

将您的 html 更改为此

<body>
        <label id="num1label"></label>
        +
        <label id="num2label"></label>
    </body>
于 2013-02-04T10:20:59.507 回答