0

注: Brandson による次のコメントを参照してください。正解です。

ユーザーが複数の言語 (英語、フランス語、スペイン語など) とそれに対応するレベル (募集 Web サイトなど) を入力できるシンプルなフォームがあります。すべての言語とそのレベルは、次のコードで表されます。

<div class="form-inline" style="position: relative; left: 105px; padding-top: 20px;">
        <label>Language&nbsp;<span>*</span></label>
        <input type="text" name="languages[]" class="input-medium" style="margin-left: 16px;" value="french" readonly>
        <label style="padding-left: 107px; padding-right: 15px">Level&nbsp;<span>*</span></label>
        <select>
            <option>beginner</option>
            <option>intermediate</option>
            <option>fluent</option>
            <option>bilingual</option>
        </select>
</div>

JQuery コードは次のとおりです。

 $("#language_add_btn").click(function () {
            $("#language_add_btn").before(createEmptyLanguagePart());
        });

以前のように jQuery メソッドを使用してこのコード スニペットを特定のボタンのに追加した場合、結果の配置は、これらの HTML コードをボタン コードの前に直接配置した場合とは異なります。firefox webtoolsを使用してソース コードと dom 構造を確認しましたが、何が問題なのかわかりません。誰でも私を助けることができますか?どうもありがとう !PS: お気づきかもしれませんが、私はTweeter Bootstrap HTML&CSS フレームワークを使用しています。

4

2 に答える 2

3

私が言いたいのは、要素間のスペースの有無が重要だということです。あなたが持っている場合、それは(要素間のスペースに注意してください)<label>...</label><input />とは異なってレンダリングされます. <label>...</label> <input />人々が HTML ファイルに HTML を「直接」入れる場合、そこに空白 (改行など) を入れる傾向がありますが、それが JavaScript の文字列の場合、人々は空白を省く傾向があり、これがレンダリングの違いを引き起こすことがあります。

はい、HTML ファイルの空白もレンダリングに影響します。空白の AMOUNT ではないことを覚えておいてください。それは空白の存在です:

これは次のようにレンダリングされます。

<span>a</span> <span>b</span>

なので:

<span>a</span>      <span>b</span>

と:

<span>a</span>
<span>b</span>

そして、これは異なるレンダリングを行います:

<span>a</span><span>b</span>
于 2013-04-12T21:30:12.520 に答える