jQuery с использованием & ldquo; if & rdquo; оператор для двух или более параметров

Да, это возможно и полезно. Причина такова, что X внутри Y полезен для многих значений X и Y: композиционность. Программы создаются путем сборки крошечных компонентов на небольшие компоненты в более крупные компоненты в огромные компоненты в ... Иногда объединяется множество союзов в объединение, и что?

R .. Ответ показывает пример, где это происходит за кулисами: просто случается, что один из типов членов объединения является объединением, но вы не знаете этого, если не посмотрите на реализацию библиотеки.


EDIT. Обратите внимание, что общая идиома для дискриминированных объединений, где каждый член объединения является структурой, первое поле которого является интегральным типом, содержащим тег, не распространяется на вложенные объединения. То есть следующая стандартная (стандартная совместимость) ( N1256 §6.5.2.3.5) реализация дискриминированных объединений в C:

struct generic {
    unsigned tag;
};
struct smallnum {
    unsigned tag; /*always TAG_SMALLNUM*/
    unsigned value;
};
struct bignum {
    unsigned tag; /*always TAG_BIGNUM*/
    size_t length;
    unsigned *p;
};
struct string {
    unsigned tag; /*always TAG_STRING*/
    size_t length;
    char *p;
};
union number {
    struct bignum bignum;
    struct smallnum smallnum;
};
union object {
    struct generic generic;
    struct bignum bignum;
    struct smallnum smallnum;
    struct string string;
};

Если у вас есть union object x, вы всегда можете прочитать его тег как x.generic.tag (или x.bignum.tag или любой другой), независимо от того, что было фактически присвоено объекту. Используя уникальные теги (дискриминаторы) для объектов.

Следующее определение является законным, но не полезно, поскольку вы не можете просто прочитать первое поле объекта union level2 для получения тега: if union level2 был записан как union number, вы должны прочитать его тег через член number, и в противном случае вы должны прочитать его тег через член generic или string. Я бы не удивился, если бы доступ через неправильный член работал на каждую существующую реализацию, но он не соответствует стандарту.

union level2 {
    struct generic generic;
    union number number;
    struct string string;
};

0
задан Miodrag Senicic 26 February 2019 в 22:11
поделиться

1 ответ

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

Вместо этого переберите родителей, затем найдите дочерние элементы для манипуляции, например:

$("table tbody tr").each(function() {
  if ($(this).find(".item-name").text() == 'Chair' && $(this).find(".item-weight").text() >= 20.0) {
    $(this).css("font-weight", "bold")
      .css("background-color", "red");
  } else {
    $(this).css("font-weight", "normal");
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="col-xs-12">
  <table class="table table-striped table-responsive">
    <thead>
      <tr>
        <td colspan="8" class="room-report-heading-td">
          <div class="room-report-heading">
            <div class="each-room  pull-left">
              <span class="room-number">1.</span>
              <span class="room-name">Room</span>
            </div>
            <div class="each-room-statistics pull-right">
              <span class="room-stat">
              1 items
              •
              5.0ft<sup>3</sup>
              •
              20.0lb
            </span>
            </div>
            <br style="clear:both;">
          </div>
        </td>
      </tr>
      <tr class="columns-headings">
        <th class="item-count">Count</th>
        <th class="item-name">Name</th>
        <th class="item-volume">Volume</th>
        <th class="item-total-volume">Total Volume</th>
        <th class="item-weight">Weight</th>
        <th class="item-total-weight">Total weight</th>
      </tr>
    </thead>
    <tbody>

      <tr>
        <td class="item-count"><span>1</span></td>
        <td class="item-name"><span>Chair</span></td>
        <td class="item-volume"><span>5.0</span></td>
        <td class="item-total-volume"><span>5.0</span></td>
        <td class="item-weight"><span>20.0</span></td>
        <td class="item-total-weight"><span>20.0</span></td>
      </tr>

      <tr>
        <td class="item-count"><span>1</span></td>
        <td class="item-name"><span>Bed</span></td>
        <td class="item-volume"><span>5.0</span></td>
        <td class="item-total-volume"><span>5.0</span></td>
        <td class="item-weight"><span>60.0</span></td>
        <td class="item-total-weight"><span>20.0</span></td>
      </tr>
    </tbody>
  </table>

[118 ] Обратите внимание, что если у вас есть много таблиц на странице, вам нужно проявить творческий подход в поиске конкретной, просто нужно знать путь к ней.

0
ответ дан Lawrence Cherone 26 February 2019 в 22:11
поделиться
Другие вопросы по тегам:

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