- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryで書き換えた要素のリセット)
jQueryで要素のリセット方法は?
このQ&Aのポイント
- jQueryでDOMの書き換えを行いたい場合に、要素をリセットする方法や関数はありますか?
- 具体的な要件として、条件に応じて<a>タグのURLを書き換え、条件から外れると元のURLに戻す方法を知りたいです。
- 質問文章の要点は、jQueryを使用して要素の書き換えを行い、書き換え前の状態にリセットする方法についてです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そもそもDOM書き換え以前の話しなので、的外れだったら気にしないでくださいね。 jqueryで変数にページのデータをぶちこんじゃうのも手かもしれませんが、 smartyとかサーバー側で切り分けを行うのはダメなのでしょうか? 条件を満たす/満たさないで、リンク先を変えたいなら、smartyみたいなテンプレートエンジン側で、フラグなり変数なりを使って、分岐させればよいのではと思ったりしますが。 そうではくて、jqueryでやりたい場合は、条件を満たした時点でフラグを立てておき、その場合はattr関数なりを使ってリンク先を変えるぐらいしか思いつかないです。 お力になれるかどうか分かりませんが、ご参考になれば幸いです。
その他の回答 (2)
- yyr446
- ベストアンサー率65% (870/1330)
回答No.2
最初から、2つ準備しておいて、 ある条件の時のみ表示するように、 スタイル属性を切り替えるってのはだめ...
質問者
お礼
ご回答ありがとうございます! 運用上の都合で、ちょっとそういったことはできないのです。
- yyr446
- ベストアンサー率65% (870/1330)
回答No.1
属性値のみにしろ、要素まるまるにしろ、部分的にもとに戻したいなら、 書き換え前の値を自分で保持しておく必用があります。 何か、思いがけない方法ってあるかなあ... ページ全体を読み直すってのは、だめよね。
質問者
お礼
ご回答ありがとうございます! やはりそうですよね。素直にattrでhref属性を取得することにしました。 全体を読み直すというのがちょっと良くわからないのですが、リロードが発生するのであれば避けたいです。
お礼
ご回答ありがとうございます! サーバ側の方で分岐させる方法もあるんですね。smartyというのはMTを扱ったときにちらっと聞いたことがある程度です。不勉強につき無知でお恥ずかしいです… 今回は私がサーバにインストール等できる立場にないので、やはりattrでhrefの値を取得、再度代入する方向で行くことにしました。 function geturl(){ $("a").each(function (i) { url[i] = $(this).attr('href'); }); } ↑のような感じで… jQueryというかjavascript自体ほとんどわからず見よう見まねなので、ひどいソースかもしれませんが、とりあえず思ったような挙動をさせることができたので、解決といたします。ありがとうございました。 javascriptを勉強する必要性をひしひしと感じております…