1

jQueryを使用してh1の後にapタグを挿入すると、appendTo()とinsertAfter()の2つの異なるメソッドから異なるフォントサイズが得られます

実際の例を参照してください: http://jsfiddle.net/GnWcU/

$('<p></p>', {
    text: 'Sub Header 1',
    class: 'sh1' }).first().appendTo('h1'); 

$('<p></p>', {
    text: 'Sub Header 2',
    class: 'sh2' }).first().insertAfter('h1');

p appendTo() は、追加先の要素から CSS を継承しているように見えます。その場合、なぜ insterAfter() も継承しないのですか?

または、CSS を継承していない場合、ここで何が起こっているのでしょうか?

4

3 に答える 3

3

その答えは、各操作の結果として生成される HTML にあります。

appendTo()その要素の最後の子として、選択した要素にコンテンツを挿入します。あなたの例では、次のようになります。

<div>
    <h1>
        Main Header
        <p class="sh1">Sub Header 1</p>
    </h1>
</div>

insertAfter()一方、選択した要素の後にコンテンツを挿入します。あなたの例では、次のようになります。

<div>
    <h1>Main Header</h1>
    <p class="sh2">Sub Header 2</p>
</div>

最初の font-sizeはタグにあるため大きく、スタイルを継承します。 2 つ目は、タグに従うだけなので、スタイルは影響を受けません。<h1>
<h1>

于 2013-06-24T03:49:18.643 に答える
0

appendTo は、次の結果になる内部に配置することを意味します。
<h1>Heading <p>paragraph</p> </h1>

一方、insertAfter は要素の後に要素を追加します。

<h1>Heading</h1> <p>paragraph</p> 

それが大きなフォントを取得する理由です - それは h1 の中にあり、とにかく間違っている h1 として扱われます。insertAfter を使用するだけです

于 2013-06-24T03:49:36.970 に答える
0

appendTo<p> を要素に入れます<h1>。の内部にあるため<h1>、header タグの子になり、その CSS プロパティを継承します。

insertAfter要素の後<p>右を挿入します。これは子ではないため、 から CSS プロパティを継承しません。<h1><h1>

于 2013-06-24T03:50:10.997 に答える