HTMXで指定ページ内の指定要素を取得及び出力する方法サンプル
あるサイトのHTMLタグ内に「hx-〇〇」という見慣れないタグが記述されていた。どうも「HTMX」というJavaScriptライブラリを使用しており、内容的には指定したサイト・要素を取得、表示しているっぽい。普段だとjQueryのloadメソッドで対応するところだが、「HTMX」での記述方法も覚えておきたいのでメモ。
目次
HTMX
公式サイト
CDN
以下で呼び出せる。
<script src="https://unpkg.com/htmx.org@2.0.4"></script>
利用方法
やりたいこと
本ブログのTOPページの1つ目の記事のタイトルを取得して#target要素内に出力してみたい。
ソースコード
<div id="target"></div> <div hx-get="https://taitan916.info/blog/" hx-trigger="load" hx-target="#target" hx-swap="innerHTML ignoreTitle:true" hx-select="dl.clearfix:nth-child(1) > dd:nth-child(2) > h3:nth-child(1)"></div> <script src="https://unpkg.com/htmx.org@2.0.4"></script>
サンプル
ブラウザのソースコードを見た場合、上記のソースコードのみ表示されるが、開発者ツールで見た場合、#target要素内に取得したデータが表示される筈。
https://taitan916.info/sample/HTMX/
解説等
hx-get
取得するページのURL。hx-postというのもあり、こちらは名前の通りpostリクエストするものみたい。
hx-trigger
HTMXを発火させるトリガー。今回はloadとしているがclickなどもあり。
hx-target
出力する場所の指定。指定しない場合はHTMXを記述しているタグに出力される。
hx-swap
出力する位置の指定。innerHTMLだと前述のhx-target内に、outerHTMLだとhx-targetが書き換えられる。また、ignoreTitle:trueを指定しておかないと、titleタグも書き換えられるので注意。
hx-select
指定したページ内のどの要素を出力するかを指定できる。指定しない場合は全ての要素が出力される。
所感
ページ取得時に何らかのパラメータを指定したい場合(特に動的に指定したい場合)等は今まで通りjQueryのloadメソッドで取得する形がよさそうだが、パラメータの指定とかが無い場合はHTMXを使っていってもよさそう。特にhx-selectで簡単に要素を指定できる点が良かった。
参考サイト
関連記事
-
-
JavaScriptにて時間や長さの単位を変換及び計算できる「mathjs」ライブラリの利用方法
JavaScriptにて時間の単位を「分->時」に、長さの単位を「mm-& ...
-
-
PHP Simple HTML DOM Parserを使用したスクレイピング方法
PHPでスクレイピングする際、preg_match_all等を用いて必要なデータ ...
-
-
PHPのバリエーションライブラリ「Valitron」の導入及び利用方法
フォーム等の入力内容チェックをPHP側で行う際、現状は素のPHPで書いているけど ...
-
-
PHPにて「hashids(Sqids)」ライブラリで数値からユニークなランダム英数字のIDに変換する方法
PHPにてユーザID等を推測されないよう数値のIDからユニークなランダム英数字の ...
-
-
円形のプログレスバーをprogressbar.jsで実装する方法
円形のプログレスバーを実装したかった。CSSだったり画像を用いたりする方法もあっ ...