2017-02-10 33 views
0

我的代碼在HTML:當點擊標籤顯示警報 - Jquery的

<td id ="tdtest"> 
    <a id="atest" href="#"> 
     <span id="spantest">Show</span> 
    </a> 
</td> 

和jQuery:

$(document).ready(function() { 

    $("#tdtest #atest").on('click',function(){ 
     alert ("Success !!!"); 

    }) 
} 

但是當我點擊 「顯示」,它不工作。

+0

你有包裹在一個DOM ready函數jQuery代碼? ('click',function(){})' – devqon

+2

爲什麼不只是'$(「#spantest」)。' –

+0

它仍然不起作用 –

回答

1

如果沒有圍繞它的表格和表格行,則不能有獨立的<td>。只要你編寫有效的標記,它的工作原理:

$("#tdtest #atest").on('click',function(){ 
 
    alert ("Success !!!"); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
<tr> 
 
    <td id="tdtest"> 
 
    <a id="atest" href="#"> 
 
     <span id="spantest">Show</span> 
 
    </a> 
 
    </td> 
 
</tr> 
 
</table>

正如已經其他的答案中建議,一個ID已經是一個DOM元素的唯一標識符,所以實際上沒有必要使用兩個ID在選擇器中,它甚至可能在內部減慢找到正確的節點。

0
  1. 只使用一個ID在選擇
  2. 將代碼文件準備好後,$(function(){ code here.. })

$(function(){ 
 
    $("#atest").on('click',function(){ 
 
    alert ("Success !!!"); 
 

 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
 
<td id="tdtest"> 
 
    <a id="atest"> 
 
     <span id="spantest">Show</span> 
 
    </a> 
 
</td>

1

使用divtd的地方,你的代碼工作。

<div id ="tdtest"> 
    <a id="atest" href="#"> 
     <span id="spantest">Show</span> 
    </a> 
</div> 

JS

$(document).ready(function() { 
    $("#tdtest #atest").on('click',function(){ 
     alert ("Success !!!"); 
    }); 
}); 

工作撥弄here