私はこのコードを持っています
success: function(data) {
title = $(data).find('h1').text();
alert(data);
alert(title);
}
現在、データは h1 タグ付きのすべての html を表示していますが、タイトルは null を表示しています
私はこのコードを持っています
success: function(data) {
title = $(data).find('h1').text();
alert(data);
alert(title);
}
現在、データは h1 タグ付きのすべての html を表示していますが、タイトルは null を表示しています
この.find()
メソッドは子孫要素を探すため、h1 要素が「最上位」レベルにある場合は見つかりません。.filter()
代わりに試してください:
title = $(data).filter('h1').text();
「基本的にはh1をつかんで変数に入れ、残りのhtmlをデータ変数に入れたい」
data
次のような文字列であるパラメーターを指定します。
"<h1>My heading</h1><p>This is a test</p><p>This <span>is another</span> test.</p>"
あなたはこれを行うことができます:
var $data = $(data),
$title = $data.filter("h1"),
title = $title.text();
$data = $data.not($title);
$title
上記の結果は、h1 要素$data
を含む と残りの要素を含む の2 つの jQuery オブジェクトになります。そこから$title.text()
、h1 の実際のテキストを取得するために使用できます。
簡単なデモ: http://jsfiddle.net/yyKCW/
「残りの html」を文字列$data
として使用する場合は、上記のように設定した後、次の操作を実行できます。
var restAsString = $("<div></div>").append($data).html();
データが次のようなもので構成されている場合:
<h1>heading</h1>
<p>content</p>
次に、クエリを実行する前にラップする必要があります。
var title = $('<div/>').html(data).find('h1').text();
alert(title);