わかりました、これは私の問題です...私は2ページあります。最初のページには、境界線スタイルを適用するヘッダー(h2
)要素があります。2ページ目には、リンクが1つだけあります。h2
2番目のページからのリンクをクリックすると、最初のページに移動するために、タグの周りの最初のページに境界線が作成されます。
これを行う方法について何か考えはありますか?通常のJavaScriptまたはjQueryでそれを行うことは可能ですか?
ありがとう!
わかりました、これは私の問題です...私は2ページあります。最初のページには、境界線スタイルを適用するヘッダー(h2
)要素があります。2ページ目には、リンクが1つだけあります。h2
2番目のページからのリンクをクリックすると、最初のページに移動するために、タグの周りの最初のページに境界線が作成されます。
これを行う方法について何か考えはありますか?通常のJavaScriptまたはjQueryでそれを行うことは可能ですか?
ありがとう!
いいえ、JavaScriptはクライアント側であり、このためには、おそらくデータベースまたはセッション変数にこれを記録することにより、リンクがクリックされたかどうかをサーバーに記憶させる必要があります。
もちろん、純粋なJSをすでに使用しているページをロードするのではなく、Webサイトの従来のモデルを使用している場合はそうです。
それを行うにはかなり愚かな方法ですが、クライアント側で行うことは可能です。ただし、サーバー側で実行することを強くお勧めします。
2ページで、ハッシュを使用して1ページにリンクします。
<a href="/page1#border">Go back to page one and add a border</a>
そして、1ページで、ハッシュがあるかどうかを確認します。
if (window.location.hash === '#border') {
$('h2').addClass('withBorder');
}
この種のシナリオを探している場合は、URLにハッシュを渡すことでそれを達成できると思います。
私passed a hash named 'second'
はで、second page url
このスクリプトを2ページ目に配置します
$(function(){
var url=window.location;
var hash = url.hash.substr(1);
if(hash == "second"){
$('h2').css('border','solid 1px red');
}
});
助けがあればこれをチェックしてください。
JavaScriptを使用してこれを行う方法はありますが、トリッキーでサーバー側の方がはるかに簡単です。DOM全体を更新せずに別のページを読み込むには、JavaScriptを使用する必要があります。私はpjaxと呼ばれるものでこれを行います。それが機能する方法は、各ページをコンテナとして機能させ、ajaxを介して後続のすべてのページをロードすることです。ページ全体のリロードを行わないことにより、あるページで行ったスタイルの変更は他のページに引き継がれます(これは実際のブラウザーの更新に耐えられません)。