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”的文字。但是只有一个标签会更改值,而“+”会因某种原因被删除。
答案 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>