2014-04-10 120 views
0

我已經在我的HTML頁面中放置了一個javascript(hide.js)...隱藏功能不起作用。
我的腳本是在正確的順序
我的代碼是按照教程外部JavaScript不工作

<!DOCTYPE html > 
<html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <title>jQuery Example </title> 
</head> 
<body> 
    <p id="paragraph "> 
     This is Paragraph</p> 
    <script type="text/javascript" src="http://localhost/WebApplication2/js/hide.js"></script> 
    <script type="text/javascript" src="http://localhost/WebApplication2/js/jquery-1.7.1.min.js"></script> 
    <script type="text/javascript" src="http://localhost/WebApplication2/js/toggle.js"></script> 
</body> 
</html> 

hide.js

$('#paragraph').click(function() { 
    $('#paragraph').hide(); 
}); 

我有在Chrome Firebug的精簡版測試..控制檯犯規顯示任何錯誤..在腳本中也呈現出外部腳本......其它腳本工作正常
我已經修改了腳本命令這樣

<script type="text/javascript" src="http://localhost/WebApplication2/js/jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="http://localhost/WebApplication2/js/toggle.js"></script> 
<script type="text/javascript" src="http://localhost/WebApplication2/js/hide.js"></script> 

它仍然無法正常工作.. 我無法找到任何相關鏈接..whats錯誤..Please推薦腳本

+0

你hide.js將無法理解任何選擇的,如果你沒有到jQuery庫的引用第一,下面showld答案做把戲您。 – Sid

+0

您是否檢查過螢火蟲js文件正在加載? – Sid

+0

另外,從您的p標籤ID中刪除空格。 – rooby

回答

0

在段落標記的id中有空格,這是無效的,所以您的javascript無法使用該id選擇該段落。

您需要從id屬性中刪除空格。

+0

是的..感謝rooby ... – user3487944

0

訂單 - hide.js被使用jQuery所以它必須包括的jquery.js後

<script type="text/javascript" src="http://localhost/WebApplication2/js/jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="http://localhost/WebApplication2/js/toggle.js"></script> 
<script type="text/javascript" src="http://localhost/WebApplication2/js/hide.js"></script> 

您的瀏覽器控制檯應該給你一個錯誤,說像Uncaught ReferenceError: $ is not defined

+0

仍然不能正常工作 – user3487944

+0

您在錯誤控制檯上遇到什麼錯誤? –

+0

控制檯是空白的。爲什麼它是空白的? – user3487944

1

順序應該是,包括上述所有jQuery的主文件。

<script type="text/javascript" src="http://localhost/WebApplication2/js/jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="http://localhost/WebApplication2/js/hide.js"></script> 
<script type="text/javascript" src="http://localhost/WebApplication2/js/toggle.js"></script> 

jQuery核心文件必須在其他任何插件之前,包括他們可能會使用內部jQuery核心方法。

+0

是這似乎是正確的答案 – Sid

+0

儘管他說他在控制檯沒有錯誤,在這種情況下,他會有這種情況。 – rooby

+0

仍然沒有工作..我已經嘗試過 – user3487944

2

因爲你在jquery.js之前包含了hide.js。你應該包括hide.js像這樣的jquery.js後...

<script type="text/javascript" src="http://localhost/WebApplication2/js/jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="http://localhost/WebApplication2/js/toggle.js"></script> 
<script type="text/javascript" src="http://localhost/WebApplication2/js/hide.js"></script> 

如果您必須包括hide.js第一的jquery.js之前。將您的代碼更改爲

$(document).ready(function() { 
$('#paragraph').click(function() { 
    $('#paragraph').hide(); 
}); 
} 

通過這種方式,您的腳本將在加載完整頁面後生效。

或者,您可以使用類似的方法。

$(function() { 
    // Your Code 
}); 
+0

該死的,你打敗了我。 – rooby

+0

仍然無效... FYI我的代碼按照教程 – user3487944

+0

這不是必需的... – user3487944

0

您的ID具有space.remove並再試一次 <p id="paragraph ">This is Paragraph</p>

它應該是這樣的 <p id="paragraph">This is Paragraph</p>

0

我發現這或許可能是原因一個很奇怪的事情。它一定會幫助你。

在你的代碼中,我看到你只有外部的JS文件。在這些外部文件之後,包含一個空的標記。它應該工作。

原因未知,但如果沒有嵌入或空腳本標記,外部JS不會包含在內。挖掘更多內容將會非常有趣。一旦我找出,讓我更新。

環境:Chrome瀏覽器最新版44.0.2403.130米