2013-12-19 130 views
2

這是我的腳本由我正在點火事件的jQuery的Click事件不觸發

$("#drg_table").closest('tr td').click(function(){  
        alert('i am here'); 
       }); 

,這是我的表

 <table name="drg_table"> 
<tbody> 
<tr id="hospital_name" name="hospital_name"> 
<td>hospital_name</td> 
<td>Average Covered Charges</td> 
<td>Average Total Payments</td> 
<td>Total Discharges</td> 
</tr> 
<tr id="GREEN CLINIC SURGICAL HOSPITAL" name="GREEN CLINIC SURGICAL HOSPITAL"> 
<td>GREEN CLINIC SURGICAL HOSPITAL</td> 
<td>2701.72727272727</td> 
<td>2821</td> 
<td>11</td> 
</tr>......</tbody></table> 

但事件不會在所有

+0

選擇器'$(「#drg_table」)。closest('tr td')'wrong ...... –

+0

@karthikr:試過了,但那也不起作用。 –

+0

http://api.jquery.com/closest/?! –

回答

4

drg_table是名稱屬性不是id。此外,您只需使用.closest()。實際上它會查找ancestor元素,而不是descendants

嘗試,

$("table[name='drg_table'] tr td").click(function(){  
     alert('i am here'); 
}); 
+0

是的,雖然我會說他應該只是將名稱切換爲ID。 例如:

Mike

+0

這就是我想要指出的錯誤感謝。 –

+0

@ temp-learn很高興爲您提供幫助。 –

3

.closest()射擊遍歷DOM。

在您的情況下,closest()可應用於tdtr td,但不適用於table本身。

屬性寫在方括號中,id爲# + id。

嘗試:

$("table[name='drg_table']").find("tr td").click(function(){  
    alert('i am here'); 
}); 

OR

$("table[name='drg_table']").on("click","tr td").click(function(){  
    alert('i am here'); 
}); 

OR

$("table[name='drg_table']tr td").click(function(){  
    alert('i am here'); 
}); 
+0

方法3是我想要的 –

2

name屬性已被棄用,而你的選擇是尋找一個id,所以更改:

<table name="drg_table"> 

<table id="drg_table"> 

及用途:

$("#drg_table").on("click","tr td").click(function(){  
    alert('I am here'); 
});