[英]jQuery - help needed on ID selector when id is an array type notation
[英]jQuery selector help needed
這是我的HTML片段。 我正在訂閱錨點“查詢”的“點擊”事件。 如何遍歷以獲取data-driverid
值?
<div class="DriverWrapper" data-driverid="108WW" style="background-color: Silver; padding: 4px 4px 4px 4px; page-break-before: always;">
<strong>Driver ID:</strong> 108WW
</div>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top; width: 20%">
<strong>174794</strong>
<a href="#" class="inquireTripLink">inquire</a>
編輯:
我嘗試了這個,它顯示帶有null
警報
$(".inquireTripLink").on("click", function (event)
{
event.preventDefault();
var driverId = $(this).closest('.DriverWrapper').data('driverid');
alert(driverId);
您可以使用closest
方法。
$('.inquireTripLink').click(function(){
var id = $(this).closest('.DriverWrapper').data('driverid');
});
更新: div
元素不是單擊元素的父元素,您已在strong
標記后關閉div
標記。 你可以使用prev
方法:
$('.inquireTripLink').click(function(){
var id = $(this).closest('table').prev('div').data('driverid');
});
嘗試這個:
$(".inquireTripLink").on("click", function (event) {
event.preventDefault();
var driverId = $(this).closest('table').prev('.DriverWrapper').data('driverid');
alert(driverId);
})
您的鏈接似乎在一個表格中,該表格不是div的子節點,而是兄弟節點。
嘗試$(this).closest("[data-driverid]").data("driverid")
$(this).closest("table").prev(".DriverWrapper").data("driverid");
如果你改變你的標記它會破壞,但它適用於你發布的HTML。 您可以考慮添加一個公共父級,然后執行以下操作:
$(this).closest("COMMON PARENT").find(".DriverWrapper").data("driverid");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.