jQuery: отображать метаданные, относящиеся к файлу при нажатии на конкретное имя файла (показать / скрыть, этот объект) - PullRequest
0 голосов
/ 26 февраля 2010

У меня есть следующий HTML-код, который представляет собой отдельный результат, который содержит имя файла и некоторые метаданные о файле. Я хочу скрыть таблицу, у которой изначально есть класс "detail-pane" (я знаю, как это сделать), и я хочу отобразить панель (класса "detail-pane"), которая относится к имени файла (например, H001_abcde_martin_chop.gits) когда имя файла щелкнуло. Что мне нужно сделать, чтобы связать две вещи друг с другом, чтобы я мог написать jQuery, который понимает, какой объект класса «имя файла» связан с каким объектом класса «панель подробностей», и выполняет соответствующие показ и скрытие :

Я знаю, что прошу много, но это поможет решить множество проблем для меня.

Код:

<td><span class="normal"><div class="filename">H001_abcde_luther_chop.fits</div></span>
        <table id="detail1" border="0" cellspacing="0" cellpadding="6" class="detail-pane">
          <tr>
            <td><span class="normal">CTYPE1 = 'RA---SIN'&nbsp;</span></td>
          </tr>
          <tr>
            <td><span class="normal">CRVAL1 = 0.000000000000E+00</span></td>
          </tr>
          <tr>
            <td><span class="normal">CTYPE2 = &quot;DEC--SIN'</span></td>
          </tr>
          <tr>
            <td><span class="normal">CRVAL2 = -9.000000000000E+01</span></td>
          </tr>
        </table></td>

1 Ответ

2 голосов
/ 26 февраля 2010

Если формат всегда такой, вы можете просто перейти, например, так:

$(".filename").click(function() {
  $(this).closest("td").find(".detail-pane").show();
});

В jquery часто встречаются связанные объекты по их последовательному положению по отношению к элементу. В этом случае мы подходим к первому родителю <td>, затем находим class="detail-pane" в нем и показываем. Вы можете сделать .fadeIn() вместо .show() для дополнительного эффекта.

...