jQueryにて$.parseHTML()を用いてHTML文字列をDOMノードに変換する方法
あるサイトのソースコードを拝見しているとjQueryで$.parseHTML()という見慣れない記述があった。内容的にはajaxで他ページのHTMLを取得して扱いやすい形に変換する際に$.parseHTML()を使っているように見受けられた。以下に具体的な利用方法をメモ。
利用方法
ソースコード
$(function(){
const html = `
<div class="parent">
parent
<div class="child">
child
</div>
</div>
`;
const parse_array = $.parseHTML(html);
const parse_obj = $($.parseHTML(html));
console.log(parse_array);
console.log(parse_obj);
});
出力例
上記ソースコードを実行した際、コンソールログには以下のような内容が出力される。
Array(3) [ #text, div.parent, #text ]
0: #text "\n\t\t\t"
1: <div class="parent">
2: #text "\n\t\t"
length: 3
Object { 0: #text, 1: div.parent, 2: #text, length: 3 }
0: #text "\n\t\t\t"
1: <div class="parent">
2: #text "\n\t\t"
length: 3
指定した要素を抽出したい場合
console.log(parse_obj.find(`.child`).text()); //child
リファレンス
jQuery.parseHTML()
関連記事
-
-
jQueryで配列の値を検索
やりたかった事は、配列の中に特定の値があるか どうか検索し、その後の分岐を行いた ...
-
-
jQueryのanimate()でページスクロール後に他の処理を実行させる方法
jQueryのanimate()でページスクロール後に特定の要素を非表示にしたい ...
-
-
adblock(広告削除)設定している場合はページを表示させない
iPhoneのSleipnirでネットをしていると「広告がブロックされたのでペー ...
-
-
jQueryで特定のdata属性をセレクタとして指定する方法
jQueryで特定のdata属性をクリックした際に何らかのイベントを実行したかっ ...
-
-
formのtextareaに文字を入力した内容をリアルタイムプレビューする方法
textarea内に書いた内容をリアルタイムでプレビューする機能が必要になった。 ...