リンク先を変更したり逆順にするJavascript
この記事は公開または最後に更新されてから1232日が経過しています。情報が古くなっている可能性があるのでご注意下さい。
ちょっと良く使うことで、タグクラウドに並んでいるa タグのリンク先を切り替えられて二つ設定出来れば便利だということになって。
通常のここのタグクラウドは以下のようなhtml になっています。
ちなみにリンク先を変更するためと逆順にするためのボタン用のpタグが既に付加されています。
この場合のリンク先で”https://strix.main.jp/?page_id=48&tagname=xiceland_gull”というのは鳥種を絞り込んでの画像一覧ページへのリンクとなっているのですが、これを切り替えてリンク先をタグページへの”https://strix.main.jp/?tag=iceland_gull”にしたいという目論見。
ここは未だほとんどのページがjQuery ではなくJavascript なので。
javascript が無いと必要がないので、そのボタンもjavascript によって表示するようにして、前半はその処理。後半も別になんてことはなくて、onclick イベントに登録しているだけのこと。
ついでにこの一つ前のページ『右クリックのログとかリストの逆順表示とかのjQuery』で、jQuery でやったリストを逆順に表示させる機能もつけてしまおうと。
逆順にするだけの処理はというと、同じように子要素のa タグを取得して、そのオブジェクトからouterHTML で元々のhtml を得て文字列としてつなげて一つにしたもので、innerHTML にて置き換えるという具合にしました。
そして、上のリンク先変更の部分と一緒にまとめてしまおうということなのですが、それにはちょっと問題が発生するのでひとくふう必要でした。
というのは、逆順にする処理において子要素のリストをinnerHTML を使ってすっかり入れ替えてしまっているので、window.onload で登録したリンク先を変更するonclick イベントも無くなってしまいます。
それゆえにそのリンク先を変更するのに使用したonclick イベントへの登録はやめて、changelink ボタンをクリックした時にすべてのリンク先を変更してしまう方法に変更しています。
なお、この下の部分、2018/4/22に更新しています。というのは、以前のものはもくろみどおりでなかったり、実はミスコードでちゃんと動かないものだったりしたのです。いやはやなんとも、かなしか~!
全く同じ機能をjQuery でということになるわけですが、もともとが同じものなのだから同じことをやればいいんだけれども、なかなかそれが難しかったりする。
こちらもクリックイベントを登録するのではなく、リンク先変更ボタンをクリックした時に、全てのa タグのリンク先(href)を書き換えてしまう同じ方法です。
で、この下の部分は自分用の本当の備忘録というか、実際にこのサイトで使用しているコード。
というのは、ブラウザの言語設定が日本語とその他の場合(英語表示となる)でタグクラウドの表示も変えていて、英語の場合は英名となるのであるが、英名は長いのでタグクラウドではなく、単純に<li>タグでリスト表示にしてます。日本語表示と違い、<a>タグの親要素が<li>タグとなるのでそのあたりの処理の変更が必要となったというわけですね。
Post : 2015/10/11 13:45
Comments feed
Trackback URL : https://strix.main.jp/wp-trackback.php?p=59330