2017-08-14 38 views
-1

你好,我想改變一個HTML頁面的DOM但從另一個頁面我試圖分享2頁之間的相同的腳本,但它並沒有在這裏工作是一個說明什麼,我我試圖做更改位於另一頁另一DIV的CSS proprety

1 - 第一頁

<div> 
<p id="simpletext">Hello world</p> 
<script src="jquery.min.js"></script> 
<script src="script.js" type ="text/javascript"></script> <!-- same script file is present in the second page --> 
</div> 

2,第二頁

<div> 
<button>Click me </button> 
<script src="jquery.min.js"></script> 
<script src="script.js" type ="text/javascript"></script><!-- same script file is present in the first page --> 
</div> 

的script.js

$("button").on("click",function(){ 
    $("simpletext").css("color","blue"); 
    }); 

我試圖當我點擊按鈕的願望位於第二頁,就可以改變文本的顏色的第一頁

+5

您只能修改當前加載頁面的DOM。如果你想改變基於動作的不同頁面的前一個你需要堅持用戶交互的狀態,然後在加載時修改其他頁面。要做到這一點,你可以使用'localStorage','sessionStorage','session','cookies',或AJAX來在服務器上存儲信息。 –

+1

你在jQuery代碼中缺少'#'符號。嘗試:'$(「#simpletext」).css(「color」,「blue」);'希望這有助於! –

+0

@Rory也打敗了我吧。如果是我,我會用localStorage來實現這個簡單的事情。 – Alex

回答

1

你可以發送消息上從一頁到另一頁。在另一頁

$("button").on("click",function(){ 
    wondow.postMessage("show","*"); 
}); 

然後,等待一個消息:在按鍵側發送消息

window.addEventListener("message",function(event){ 
    if(event.data === "show") { 
    $("simpletext").css("color","blue"); 
    } 
}); 

我假定這兩個窗口都在同一臺機器上打開,如果沒有,您需要ajax或websockets,而不是服務器端代理。

+0

謝謝,我正在尋找 –