需要帮助在 ASP.NET Web 表单中使用 jQuery 遍历元素
Need help traversing elements with jQuery in ASP.NET Web Forms
所以第一张图片就是我的页面的样子。每当单击突出显示的按钮时,我都试图在顶部获取 table 的 ID(具有 class trackingHistory 和 ContentPlaceHolder1_ctl00_myRpt_ctl00_0_gdvTH_0 ID 的 table)。
现在我可以单击按钮并触发 Javascript 方法 'ToggleHistory()' 并使用 jQuery 获取按钮的 ID。 (.attr('id'))
但这就是我所能得到的。我试过弄乱 jQuery 中的 closest() 和 prev() 方法,但没有任何运气。任何帮助,将不胜感激。
javascript方法
function ToggleHistory(button)
{
console.log(button);
var x = $(button).prev();
var y = $(button).closest('table').find('.trackingHistory');
//var z = $(button).closest('.trackingHistory');
console.log(x);
console.log(y);
console.log($(y).attr('id'));
//console.log(z);
}
我不想对 ID 进行硬编码,因为这些 table 和按钮的数量是动态的。
<button>
和 <table>
没有直接关系,但确实有 <div>
的共同点。
<div>
<table class="toggleHistory"></table>
</div>
<button type="button" onclick="ToggleHistory(this)">click here to hide</button>
<button>
和 <div>
是直系兄弟,您可以使用 .prev()
and back with .next()
在它们之间遍历。
$(button).prev()...
那么<div>
和<table>
就是.parent()
and child (.children()
):
$(button).prev().children('.trackingHistory');
function ToggleHistory(button)
{
console.log(button);
var $historyTable = $(button).prev().children('.trackingHistory');
console.log($historyTable.attr('id'));
}
所以第一张图片就是我的页面的样子。每当单击突出显示的按钮时,我都试图在顶部获取 table 的 ID(具有 class trackingHistory 和 ContentPlaceHolder1_ctl00_myRpt_ctl00_0_gdvTH_0 ID 的 table)。
现在我可以单击按钮并触发 Javascript 方法 'ToggleHistory()' 并使用 jQuery 获取按钮的 ID。 (.attr('id'))
但这就是我所能得到的。我试过弄乱 jQuery 中的 closest() 和 prev() 方法,但没有任何运气。任何帮助,将不胜感激。
javascript方法
function ToggleHistory(button)
{
console.log(button);
var x = $(button).prev();
var y = $(button).closest('table').find('.trackingHistory');
//var z = $(button).closest('.trackingHistory');
console.log(x);
console.log(y);
console.log($(y).attr('id'));
//console.log(z);
}
我不想对 ID 进行硬编码,因为这些 table 和按钮的数量是动态的。
<button>
和 <table>
没有直接关系,但确实有 <div>
的共同点。
<div>
<table class="toggleHistory"></table>
</div>
<button type="button" onclick="ToggleHistory(this)">click here to hide</button>
<button>
和 <div>
是直系兄弟,您可以使用 .prev()
and back with .next()
在它们之间遍历。
$(button).prev()...
那么<div>
和<table>
就是.parent()
and child (.children()
):
$(button).prev().children('.trackingHistory');
function ToggleHistory(button)
{
console.log(button);
var $historyTable = $(button).prev().children('.trackingHistory');
console.log($historyTable.attr('id'));
}