jQuery - как выбрать TR, который содержит th's?

Существует ветка под названием Bootstrap-Flask , которая актуальна.

Тем не менее, это не очень хорошая идея использовать Flask-Bootstrap или Bootstrap-Flask. Это очень тонкие пакеты с небольшим слоем косвенности, которые в первую очередь скрывают ваше понимание.

Вместо этого я рекомендую использовать стартовый шаблон , предоставленный Bootstrap 4, который всегда будет соответствовать любой версии, которую вам требуется, используя их CDN.

Если вы придерживаетесь Bootstrap, вы скоро все равно захотите создать свой собственный Bootstrap, чтобы вы могли делать такие вещи, как добавление пользовательских тем. Взламывать Bootstrap с помощью CSS вместо использования схемы настройки SASS - это больно (я делал это некоторое время). Процесс сборки хорошо документирован и достаточно прост, требуется всего несколько установок.

6
задан Peter Mortensen 4 February 2010 в 01:00
поделиться

5 ответов

Выражение:

$(function() {
  $("tr:has(th):not(:has(td))").hide();
});

или даже просто:

$(function() {
  $("tr:not(:has(td))").hide();
});

Полный пример:

<html>
<head>
  <title>Layout</title>
</head>
<body>
<table>
  <tr>
    <th>Header 1</td>
    <th>Header 2</td>
  </tr>
  <tr>
    <td>Datum 1</td>
    <td> Datum 2</td>
  </tr>
  <tr>
    <td>Datum 1</td>
    <td> Datum 2</td>
  </tr>
  <tr>
    <th>Header 3</th>
    <th>Datum 2</td>
  </tr>
</table>
<script src="http://www.google.com/jsapi"></script>
<script>
  google.load("jquery", "1.3.1");
  google.setOnLoadCallback(function() {
    $(function() {
      $("tr:has(th):not(:has(td))").hide();
    });
  });
</script>
</body>
</html>
25
ответ дан 8 December 2019 в 02:22
поделиться

Используйте :has селектор:

$('tr:has(th)').addClass('sample')

Вероятно, не будет работать, если у Вас будет таблица со смешанным th и td дети все же.

2
ответ дан 8 December 2019 в 02:22
поделиться
jQuery("tr:has(th)")

выберет каждый tr это содержит по крайней мере один th

kthxbye :)

4
ответ дан 8 December 2019 в 02:22
поделиться

Если возможно, это было бы идеально для включения заголовка таблицы в <thead> элементе

<table>
    <thead>
        <tr>
            <th></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td></td>
        </tr>
    </tbody>
</table>

Тот путь, выбирая Ваш заголовок таблицы был бы так же прост как:

$('thead');

Или выбор только <TR>

$('thead tr');

Ваша разметка затем была бы более читаемой, и моделирование Вашей таблицы становится легче, поскольку можно более легко быть нацелены на элементы в заголовке или теле таблицы.

7
ответ дан 8 December 2019 в 02:22
поделиться

Не знайте, похоже ли это на Dojo запросы CSS3, но Вы могли бы использовать первого ребенка псевдо класс, если jQuery поддерживает его:

th:first-ребенок TR

или

th:nth-ребенок TR (1)

См.: http://www.456bereastreet.com/archive/200601/css_3_selectors_explained/

1
ответ дан 8 December 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: