簡體   English   中英

jQuery 遍歷

[英]jQuery Traversing

我的頁面有這個設計。

<tr id="master">
    <td id="row1"> <textbot> </td>
    <td id="row2"> <linkbutton> </td>
</tr>

我正在克隆相同的 TR onclick 鏈接按鈕,當前鏈接按鈕將被隱藏。 因此將創建一個新行。

考慮我已經克隆了三次

<tr id="master">
    <td id="row1"> <textbot> </td>
    <td id="row2"> <linkbutton> </td>
</tr>
<tr id="master">
    <td id="row1"> <textbot> </td>
    <td id="row2"> <linkbutton> </td>
</tr>
<tr id="master">
    <td id="row1"> <textbot> </td>
    <td id="row2"> <linkbutton> </td>
</tr>

現在我想顯示第二行的鏈接按鈕。

我正在嘗試

$(this).parents('#master :last').prev().children('#row2).show();

但它不起作用。

您不能/不應該克隆具有 ID 的元素,因為 ID 在文檔中應該是唯一的。 盡管瀏覽器很樂意讓您擁有兩次相同的 ID,但 Javascript 和 jQuery 不會為此原諒您,並且事情不會按預期進行。 對元素進行分組的正確方法是按類。

因此,如果您將代碼切換為:

<tr class="master">
  <td class="row1"> <textbot> </td>
  <td class="row2"> <linkbutton> </td>
</tr>

您的選擇器可能如下所示:

$('tr.master').eq(1).find('td.row2').show();

您知道,ID 必須是唯一的 .. 所以我建議將所有 ID 更改為類。

我認為 parrent 的語法應該是:

$('#master:parent');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM