2015-05-25 21 views
0

我有兩個html頁面,我需要鏈接到第二頁的第一頁,然後修改第二頁上的一個元素的類。直接到另一個頁面,同時更改該頁上的類

例如..頁面1有2個按鈕,如果您按第一個按鈕,則您將指向第二個頁面,第二個頁面背景將變爲綠色。如果按下第二個按鈕,您將按照相同的方式操作,但背景變爲藍色。

有沒有辦法做到這一點?不使用jQuery。

+0

重定向與附加到URL參數,讀取和處理它接收頁面上。 – Nit

回答

2

您可以通過查詢字符串傳遞參數並使用第2頁上的document.location.search來獲取參數並相應地設置顏色。

<a href="page2.html?color=green">Green</a> 
<a href="page2.html?color=blue">Blue</a> 

然後在第2頁:

<script> 
    // Assuming the query string is ?color=blue, 
    // splitting on = will result in ["?color", "blue"]. 
    // In the real world you shouldn't assume it's in 
    // exactly that format, but for the sake of example... 

    var color = window.location.search.split('=')[1]; 

    // add the css class 'blue' to the body tag. 
    var document.body.classList.add(color); 
</script> 

而且在CSS:

.blue { 
    background-color: blue; 
} 

.green { 
    background-color: green; 
} 
+0

我明白了,謝謝。如果我需要更改多個元素呢?基本上我需要的是將第2頁上的這些div設置爲: el1.style.display =「block」; el2.style.display =「none」; el3.style.display =「none」; el4.style.display =「none」; 而你在第1頁按下按鈕後的課程 qua1ity

+0

有幾條路線,你可以去。你可以通過使用body.blue選擇器來突出顯示你想要的和隱藏其他的。或者你可以爲隱藏它們的div分配一個類,然後使用'document.querySelector(...)。classList.remove(...)'從可見的類中移除該類,但它看起來像你可能想要做這個服務器端?只需根據參數呈現頁面2的方式?爲什麼它的客戶端與JavaScript? – ray

+0

只是想知道在客戶端是否有這樣做的方法,因爲我沒有任何服務器端語言 – qua1ity

相關問題