2015-02-08 125 views
0

我正在製作一個網站,我想在點擊某些部分時更改頁面的內容。我有CSS,HTML,JS是分離文件。我是一個noob。使用jquery當我給標籤(「*」)選擇所有元素時,我收到一條警告,但對於我的生活,我無法選擇特定的div。所有的div都是獨一無二的,但我真的不知道爲什麼查詢不能選擇特定的div。specfic元素不能用jquery選擇

$('*').click(function() 
 
    {  alert("The paragraph was clicked."); 
 
    });

---->工作

但這不是

$('#topbar').click(function(){ 
 
     alert("The paragraph was clicked."); 
 
    });

這裏是整個代碼:

<!doctype html> 
 
<html> 
 
<head> 
 
<title>dear C</title> 
 
<meta charset="utf-8" /> 
 
<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
 
<meta name="viewport" content="width=device-width, initial-scale=1" /> 
 
<link rel="stylesheet" type="text/css" href="bbc.css"> 
 
</head> 
 
<link href='http://fonts.googleapis.com/css?family=Slabo+27px' rel='stylesheet' type='text/css'> 
 
<link href='http://fonts.googleapis.com/css?family=Libre+Baskerville:400italic' rel='stylesheet' type='text/css'> 
 
<link href='http://fonts.googleapis.com/css?family=Quicksand' rel='stylesheet' type='text/css'> 
 
<script type="text/javascript" src="jquery-2.1.3.min.js"> 
 
</script> \t 
 
<script type="text/javascript" src="resume.js"> 
 
</script> \t 
 
<body> 
 

 
<div id="container"> 
 
    \t <div id="topbar"> 
 
\t \t <div id="logo"> 
 
\t \t </div> 
 
\t \t <div id="contact"> 
 
\t \t \t \t <div id="facebook"> 
 
\t \t \t \t <a href="https://www.facebook.com/dipranjan.chatterjee"></a></div> 
 
\t \t \t \t <div id="mail"> 
 
\t \t \t \t <a href="mailTo:[email protected]"></a></div> 
 
\t \t \t \t <div id="blog"> 
 
\t \t \t \t <a href="http://chotochotodukhoktha.blogspot.in/"></a></div> 
 
\t \t </div> 
 
\t \t <div id="name"> Dip Ranjan Chatterjee</div> 
 
\t \t </div> 
 
\t \t <div id="bottom"> 
 
\t \t <div id="sidebar"> 
 
\t \t \t <div id="about">About</div> 
 
\t \t \t <div id="border"></div> 
 
\t \t \t <div id="edu">Education</div> 
 
\t \t \t <div id="border2"></div> 
 
\t \t \t <div id="prof">Professional Exp.</div> 
 
\t \t \t <div id="border3"></div> 
 
\t \t \t <div id="portfolio">Portfolio</div> 
 
\t \t </div> 
 
\t \t <div id="contents"><p> 
 

 
<p>Feel free to drop me a mail or message, if you need to get in touch with me.</p> 
 
\t \t </div> 
 
\t </div> 
 

 
</body>

還要注意我有CSS HTML和JS都在單獨的文件。在JS文件中,我把jquery。

+3

你能粘貼html嗎? – beck03076 2015-02-08 15:49:10

+0

你看過:http://stackoverflow.com/questions/14028959/why-does-jquery-or-a-dom-method-such-as-getelementbyid-not-find-the-element – 2015-02-08 15:50:33

+0

只要檢查是否有一個具有該ID的div,並且在文檔準備好之後添加了監聽器 – 2015-02-08 15:52:08

回答

1

確保您沒有多個具有相同ID的div(在這種情況下爲#topbar),並且在文檔加載後添加偵聽器。

$(document).ready(function(){ 
    $('#topbar').click(function(){ 
     alert("The paragraph was clicked."); 
    }); 
}); 
+0

非常感謝..此工作。我是jquery的新手,你可以讓我知道,ready函數的specilaity是什麼? – 2015-02-09 03:02:55

+0

@DipRanjanChatterjee請閱讀文檔:[鏈接](http://api.jquery.com/ready/)基本上在頁面「準備就緒」之前,元素不會加載到DOM中,#topbar不存在然而。 – Tom 2015-02-09 08:26:22

0

顯示你所有的HTML代碼

  1. 標識符ID = 「頂欄」 存在嗎?
  2. id =「topbar」在HTML中是唯一的嗎?
  3. 你正在加載HTML後聲明腳本?
<div id="topbar">Go</div> 
<div id="topbar2">Go2</div> 

<script type="text/javascript"> 
$('#topbar').click(function(){ 
    alert("The paragraph was clicked."); 
}); 
</script> 

<!-- works --> 
+0

這是整個代碼: – 2015-02-09 02:55:16

+0

感謝您的幫助 – 2015-02-09 03:03:12