2017-04-20 104 views
0

嗨,我真的想找人幫我找到解決這個問題的方法。跨越多個html頁面選擇id

我有兩個HTML頁面和使用jQuery一個js頁

page1.html

<a id="test1"></a> 

page2.html

<div class="navdown"> 
     <ul id="top-menu"> 

      <li id="one" class="active1"> 
       <a id="t1"> 
       </a> 
      </li> 

      <li id="two"> 
       <a id="t2"> 
       </a> 
      </li> 




       <li id="three"> 
       <a id="t3"> 
       </a> 
      </li> 





     </ul> 
    </div> 

test.js

$('#test1').on('click', function(){ 


$('#one').removeClass('active1'); 


$('#three').addClass('active1'); 


}); 

我我正在嘗試,以便在page1中(#test1)在page2(#one)上單擊時,active1類將被刪除,然後添加到(#three)。

我明白,因爲這些是不同的HTML網頁/ DOM JS不會按預期運行,但我一直在尋找不同的解決方案來解決這個問題。但沒能找到一個很簡單。有沒有一種方法可以跨多個dom選擇一個id,並在同一個jquery函數中使用它們?

+0

多空是沒有。你應該繼續並刪除這個問題,因爲這是不可能的。 – Trasiva

+0

你可以爲它設置餅乾!注意其他文件中的cookie並根據cookie執行操作! – Felix

+1

@FelixHäberle,對於POC項目或將在封閉環境中使用的東西..也許..但其他cookie對於野外網站來說不夠可靠。 –

回答

0

唯一正確的答案是否定的,您不能使用JS進行持久DOM更改,而不使用任何後端。

0

我同意這個問題的文字答案是否定的,你不能這樣做。

我建議重新考慮你想要做的事情的結構。它真的需要成爲兩個單獨的頁面嗎?

如果確實如此,無論出於何種原因,您都可以使用一些黑客來完成您的目標。

Felix Haberle類似,建議您在頁面1上點擊set a cookie,然後單擊該按鈕,然後在第2頁上讀取該cookie。或者您可以在local storage中設置變量。本地存儲可能是一個更好的選擇。以下是Cookie與本地存儲的good summary

或者,另一個黑客是利用URL中的散列。如果第1頁上的按鈕被點擊,則可以導航到page2.html#buttonClicked而不僅僅是page2.html。然後在第2頁上檢查是否存在散列值 - window.location.hash

請注意,雖然這些是只是駭客。你想要做的是在瀏覽器中管理狀態。客戶端狀態無法在多個頁面加載時可靠地維護。我真的建議重新思考你如何構造事物。但是,這個世界並不是所有的東西都是美麗的,如果你完全可以接受奇怪的黑客,那麼這些都會成功! ;)

+0

好的謝謝 – jaemnkm