2017-06-09 59 views
0
var Home = document.getElementById("home"); 
var Page = document.getElementById("page"); 

Home.onclick = function(){Page.innerHTML = "I TYPED A BUNCH OF HTML HERE";}; 

這是爲什麼不工作?當我點擊div id =「home」元素時,div id =「page」沒有任何反應。另一個惱人的JavaScript的單擊事件問題

注:這是普通的JavaScript腳本標記之間的.js文件鏈接

編輯:我嘗試使用事件監聽器的方法。

Home.addEventListener("click", function(){Page.innerHTML = " 

ALL THE HTML HERE 

"; 
}); 

但是,當div id「home」被點擊時,div id「page」沒有任何反應。 嘗試在IE和Chrome中運行。

+0

什麼是頁?你在功能裏面試過console.log嗎? – Teemoh

+0

使用addEventListener來附加事件no? – Etienne

+0

'Page' - C#編程背景? –

回答

0

看到它完美地運行在下面的例子。連接事件監聽器之前

但要記住的元素應該被加載。

我會建議你把下面的代碼在頁面的底部,如關閉body標籤之後。

或致電像這樣的文件的onload代碼:

document.addEventListener("load", function(){ 
    //ATTACH THE CLICK LISTENER HERE  
}); 

var Home = document.getElementById("home"); 
 
Home.onclick = function(){ 
 
    alert("click happened"); 
 
};
<div id="home">This is the div with id home</div>

+0

這似乎也沒有做任何事情。引號中的HTML是否會以任何方式影響Javascript文檔的運行? –

0

這是普通的JavaScript腳本標記之間的.js文件鏈接

如果它是一個.js文件,不需要<script></script>標籤。

嘗試下面的代碼片段:

var Home = document.getElementById("home"); 
 
var Page = document.getElementById("page"); 
 
    
 
Home.onclick = function(){ 
 
Page.innerHTML = "I TYPED A BUNCH OF HTML HERE"; 
 
};
<div id="home"> Home </div> 
 
    <div id="page"> </div>

你應該串聯文本的元素的innerHTML而不是分配的。

+0

這適用於它應該在試驗區那裏,我的代碼是相同的,但是當我運行該頁面這是行不通的。我想它是與被包含的HTML。 –

+0

@ V.Snow你好嗎任何控制檯錯誤? –

+0

控制檯顯示「無效或意外的令牌。」 –