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」を示すテキストです。ただし、値が変更されるラベルは1つだけで、何らかの理由で「+」が削除されます。

4

3 に答える 3

5

間違った要素、悪いマークアップ。使用する:

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

<label>タグが自己終了していないため、コードは失敗しました。寛容なブラウザーは、それらをネストする必要があり、終了タグを忘れていると判断したため、そのようにレンダリングします。

ただし、<label>タグは入力要素の注釈を提供するために使用されます。<form>正しく使用するには、子孫として、またはform属性 (HTML5)を介して要素に関連付ける必要があります。インライン テキストの場合は、要素を使用できます (使用する必要があり<span>ます) 。

于 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 に答える