我想委託一個click事件到包含具有特定屬性的TD tr元素只有TR元素,即jQuery選擇:出訪點擊事件與特定的數據
<table>
<tr>
<td>product one</td>
<td>price</td>
</tr>
<tr>
<td data-imgurl="images/p2.png">product two</td>
<td>price</td>
</tr>
</table>
的目標是點擊該行並檢索該行的TD「data-imgurl」屬性值,即圖像的URI。這只是一個檢索該值的測試。最終我想讓點擊處理程序在隱藏的DIV或燈箱中顯示圖像,不知道我想要做什麼。
我的選擇(僅在於它會分配一個點擊到實際TD元素的作品:
$("table").delegate("tr td[data-imgurl]", "click", function(evt){
alert($(this).attr("data-imgurl"));
});
注意,從服務器端腳本動態創建的數據,「數據imgUrl的「屬性是基於該腳本中的邏輯,以便只有實際上具有圖像的產品纔會被分配一個」data-imgurl「屬性。也許我正在查看所有錯誤,並且應該以某種方式將數據附加到行本身,但這是違反直覺
或者我應該實際上推動圖像到一個隱藏的TD和分配它的類或rel屬性? xists在頁面上,然後點擊顯示它?這個想法仍然是隻有那些具有實際圖像的產品才能點擊。
EDIT 好吧,我通過將數據推入實際行本身來解決這個問題。這樣做更有意義,每一行都是一個記錄。解決方案:
<table>
<tr>
<td>product one</td>
<td>price</td>
</tr>
<tr data-imgurl="images/p2.png">
<td>product two</td>
<td>price</td>
</tr>
</table>
而jQuery的
$("table").delegate("tr[data-imgurl]", "click", function(evt){
alert($(this).attr("data-imgurl"));
});
感謝您的回覆;這實現了與我的代碼相同的結果,也就是說,選擇器仍然將點擊分配給TD而不是TR。 – bdl 2010-07-06 16:23:39