2014-03-03 72 views
0

我嘗試在使用Kubuntu Linux的機器上運行Firefox 27.0.1和Chrome 30.0.1599.114中的以下代碼,結果沒有任何反應。瀏覽器無法識別javascript/jQuery代碼

html頁面是基於Spring MVC框架的Web應用程序的一部分,並放置在WEB-INF/jsp文件夾中。有人可以在下面的代碼中找到任何錯誤?

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <title>HorarioLivre</title> 

    <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> 
    <script> 
    $('a').click(function() { 
     alert("clicou em um link"); 
    }); 
    </script> 

    <link rel="stylesheet" href="css/style-main.css"> 
    <link rel="stylesheet" href="css/style-popup.css"> 
</head> 
<body> 
    <header> 
    <div class="container"> 
     <h1><a href="#">HorarioLivre</a></h1> 
     <nav> 
     <ul> 
      <li><a href="listagem_evento.html" class="icon evento">Eventos</a></li> 
      <li><a href="cadastra_horario.html" class="icon horario">Cadastrar Horarios</a></li> 
      <li><a href="listagem_horario.html" class="icon horario">Listar Horarios</a></li> 
      <li><a href="listagem_usuario.html" class="icon usuario">Usuarios</a></li> 
      <li><a href="#">${usuario.nome}</a> 
      <ul> 
       <li><a href="usuario_perfil.html" class="icon perfil">Perfil</a></li> 
       <li><a href="usuario_config.html" class="icon settings">Configura&ccedil;&otilde;es</a></li> 
       <li><a href="#">Logout</a></li> 
      </ul> 
      </li> 
     </ul> 
     </nav> 
    </div> 
    </header> 
    <div id="results"> 
     <a href="#" id="close">Fechar</a> 
     <div id="content"></div> 
    </div> 
</body> 
</html> 

回答

1

您選擇所有存在的腳本運行的時候(他們的全部零,因爲劇本在head運行,所有的a元素在體內存在)的a元素和做的東西給他們。

將腳本移動到</body>之前,或創建一個函數並在DOM就緒狀態下運行它。

jQuery(function() { 
    $('a').click(function() { 
     alert("clicou em um link"); 
    }); 
}); 

...然後會有實際的a元素,你可以操縱。

1

你需要用DOM準備處理$(document).ready(function() {....})或較短的形式$(function() {.... })內部代碼執行jQuery代碼之前,爲了確保所有的元素都正確添加到DOM。

$(function() { 
    $('a').click(function() { 
     alert("clicou em um link"); 
    }); 
}); 
3

你不會說你的「錯誤」是什麼,但我的猜測是你遺漏了文檔就緒處理程序,所以當你的選擇器運行時,DOM中的元素還沒有準備好。

$(function() { 
    $('a').click(function() { 
     alert("clicou em um link"); 
    }); 
});