2014-11-06 85 views
0

雖然我確定答案必須是非常簡單明顯的,但我不能爲我的生活弄清楚。請原諒這個新手。jquery onclick不會做任何事

我有一個JS文件以下代碼:

$("#news-updates").onclick = function() { 
    $("#news-content").toggle(); 
    $("#instruction").toggle(); 
} 

代碼的目的是隱藏一個對象(指令),並示出了另一(消息內容),然後做下相對它被點擊的時間。這裏的HTML:

<section class = "news-updates" id = "news-updates"> 
    <h2>News & Updates</h2> 
    <p id = "instruction">Tap here to open</p> 
    <div id = "news-content">Lorem ipsum</div> 
</section> 

而在情況下,它以某種方式相關的CSS:

#news-updates { 
    margin-top: 20px; 
    display: inline-block; 
    border: 2px solid #ECECEC; 
    float: right; 
    width: 88%; 
    margin-left: 5%; 
    margin-right: 5%; 
    h2 { 
     text-align: center; 
     font-size: 20px; 
    } 
    #instruction { 
     text-align: center; 
     display: block; 
    } 
    #news-content { 
     display: none; 
    } 
} 

當我點擊部分,沒有任何反應。鼠標甚至沒有改變。請,我該如何做這項工作?

+0

其中是指令? – Quince 2014-11-06 22:41:32

+0

糟糕,我忘了在更改它時更新問題的其餘部分......但這不是問題。 – Turtleman579 2014-11-06 22:47:26

回答

1

應該

$(window).load(function() { 
    $("#news-updates").click(function() { 
     $("#news-content").toggle(); 
     $("#instruction").toggle(); 
    }) 
}); 

直接分配,像你一樣,是純JavaScript,而你正在使用jQuery。當DOM被加載時,也應該分配函數,所以我添加了onload方法。對於使用jQuery

0

正確實例是

$(document).ready(function(){ 
$("#news-updates").click(function() { 
    $("#news-content").toggle(); 
    $("#instruction").toggle(); 
}); 
}); 
0

onclick不是一個jQuery功能。您正在向jQuery對象添加一個名爲onclick的新函數。你應該這樣做:

$("#news-updates").on('click', function() { 
    $("#news-content").toggle(); 
    $("#instruction").toggle(); 
});