2016-10-18 7 views
0

私はJavascriptの代わりにCSSで問題を修正しましたが、なぜJavascriptで動作させることができなかったのか不思議です。私は、カートのソフトウェアからこの出力を持っている:別のdivの最後の要素としてdivを挿入するシンプルなJavaScript

<div id="form-login-remember" style="margin-bottom:5px;"> 
    <label for="modlgn_remember">Remember Me</label> 
    <input id="modlgn_remember" type="checkbox" name="remember" class="inputbox" value="yes" alt="Remember Me"> 
</div> 
<div id="submit-login-button" style="margin-bottom:5px;"> 
    <input type="submit" name="Submit" class="button" value="Login"> 
</div> 

は、もともと私は<label><input>両方が浮かん要素の上までスライドさせる下のボタン要素を引き起こしたまま浮いていました。私はjavascriptまたはjqueryを使用して、<div style="clear:both;"></div>を上記の最初のdivの最後の要素として<div id="form-login-remember" style="margin-bottom:5px;"></div>に挿入して、親divの高さを強制します。すべての3つが私のテンプレートに挿入された 1.

<script> 
jQuery(window).load(function() { 
    $("<div style='clear:both;'></div>").insertAfter("#modlgn_remember"); 
}); 
</script> 

2.

<script> 
jQuery(window).load(function() { 
    $("#form-login-remember").append('<div style="clear:both;"></div>'); 
}); 
</script> 

3.

<script> 

var newDiv = '<div style="clear:both;"></div>'; 

$(window).load(function() { 
    $('#form-login-remember').append(newDiv); 
}); 

</script> 

はノー運にこれらの異なる方法、それぞれを試してみました閉じbodyタグの前に、私はすでにjqueryを使用していて、それらはmの頭からリンクされていますyページ。私はJavaScriptを学んでいる、誰かが私が間違っていたことを指摘してくれる?現在のところ、サイトの homepageには、まだ#3のオプションが有効ですが、divをクリアして挿入していません。どちらも...?

答えて

3

あなたの問題は、divを追加しようとしていたのではなく、使用方法がloadであるように見えます。現在のコードではjsエラーが発生します。 hereに示されているように、jQueryのloadは、(サーバーから)データを取り出し、それを目的の要素に出力するために使用されます。

$(document).ready()は、おそらくあなたが探しているものです。

ここで#3から(ドキュメント準備ができて)あなたのコードを使用して作業例です:ヘッドアップのためのhttps://jsfiddle.net/aecoadny/

+0

おかげで、今私は$(ドキュメント).ready()関数と$(の違いを理解しますウィンドウ).load()関数。 – Lavert

+0

申し訳ありませんが、Enterを押して投稿しました。また、var = newDivを削除し、html文字列を直接挿入していました。私が変数を持っていたときは、divの代わりに変数の文字列名を出力していました。 – Lavert

関連する問題