テキストを div に追加してから、それが FF コンソールで追加されているかどうかを確認しようとしています。コンソールに入力するコードは次のとおりです。
jQuery('<div id="method" style="display:none">').append("jonesy" + ',');
jQuery('<div id="method">').text()
文字列jonesy が返されることを期待していますが、空の文字列が表示されます。私のエラーはどこですか?
テキストを div に追加してから、それが FF コンソールで追加されているかどうかを確認しようとしています。コンソールに入力するコードは次のとおりです。
jQuery('<div id="method" style="display:none">').append("jonesy" + ',');
jQuery('<div id="method">').text()
文字列jonesy が返されることを期待していますが、空の文字列が表示されます。私のエラーはどこですか?
2 つの問題があります。まず、ここでの各 jQuery 呼び出しは、個別の div を作成しています。
以前に作成した div を参照するには、セレクターで参照し、新しいものを作成しないでください。
jQuery('<div id="method" style="display:none">').text("jonesy" + ',');
jQuery('#method').text()
しかし、div がドキュメントに追加されていないため、これも実際には機能しません。2 行目は、ドキュメント内の一致を探します。
試す:
jQuery('<div id="method" style="display:none">').
text("jonesy" + ',').
appendTo($(document.body));
jQuery('#method').text()
2 つの問題を見つけることができます。
関数に HTM L をフィードする
jQuery()
場合は、完全なスタンドアロン HTML である必要があります。<div id="method"></div>
正しいです、そうで<div id="method">
はありません。
編集:テストしたばかりで、コードは正常に動作しているようです。
その構文は新しい要素を作成します。既存の要素を検索する場合は、CSS セレクターを使用する必要があります。ただし、要素は DOM にアタッチされておらず、変数に保存されていないため、簡単に到達する方法はありません。
私はあなたがこのようなものが欲しいと思います:
var div = jQuery('<div id="method" style="display:none"></div>').append("jonesy" + ',');
div.text();
あなたのセレクターは私の友人から少し離れています:
jQuery("div#method").append("jonesy" + ",");
console.log(jQuery("#method").text());