2017-01-05 11 views
0

jqueryが新しくなったので、何か簡単なものを教えていただきありがとうございます。私は次のWebページを持っていますjqueryに2つのdivテキストを設定できません

<html><body> 
<div id="mytitle1">Hello</div> 
<p/> 
<div id="mytitle2">World</div> 
</body></html> 

これはうまくレンダリングします。しかし、jqueryの値を次のように設定しようとすると、最初のdivだけがレンダリングされます。デバッグすると、両方のdivが設定されていることがわかりますが、2番目のdivはレンダリングされたhtmlページから「消去」されます。 (レンダリング後のページを調べるのは最初のdivだけです)。

<body> 
<div id="title1" /> 
<p /> 
<div id="title2" /> 

<script type="text/javascript"> 
    $(showtitle); 

    function showtitle() { 
     $("#title1").text("Hello"); 
     $("#title2").text("World"); }; 

何が得られますか?

+2

...あなたはshowtitle' '再コンソールのエラーを正常に受信しました:ここ

は(それは私のために動作します)、このコードを試してみてください。チェックしてください。 – 31piy

+0

あなたは確かにjsエラーがあるので、動作していません。 – Jai

+0

あなたは間違いなくこれらの2つのdivをネストしましたか、または上に投稿した最後のコードブロックとまったく同じ*コードですか? – Robert

答えて

3

関数を呼び出すための構文が正しくありません。現在、関数参照をjQueryオブジェクトの中に入れていますが、その名前の後ろに()を置いて呼び出すだけです。

DOM内で#titleX要素が利用可能なときにのみ実行されるように、document.readyイベントハンドラにコードをラップする必要もあります。このお試しください:また<div><p>要素が自己終了ではないことに注意してください

$(function() { 
 
    showtitle() 
 

 
    function showtitle() { 
 
    $("#title1").text("Hello"); 
 
    $("#title2").text("World"); 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="title1"></div> 
 
<p></p> 
 
<div id="title2"></div>

を、あなたは上記の例のようにそれらを閉じるために、別</div></p>を追加する必要があります。

+0

ありがとうございます。これは機能します。私は$(functionname)がドキュメントの準備ができたときに呼び出されたと思ったが、そうではないと思う。 –

1

あなたのHTMLには誤りがあります。あなたは部門を閉鎖していません。両方のdivでclosingタグを使用する必要があります。例:</div>
また、ちょうど</p>のようなものはありません。 <p>タグはwrtinig段落に使用され、終了タグを開く必要があります。

<div id="title1"></div> 
<div id="title2" ></div> 

<script type="text/javascript"> 
    $(showtitle); 

    function showtitle() { 
     $("#title1").text("Hello"); 
     $("#title2").text("World"); 
    }; 
</script> 
+0

あなたは正しいです。コードは大丈夫でしたが、htmlは問題でした。 –

関連する問題