Идентификация всех строк в таблице <tbody> элемент с помощью jQuery

Решение для Rails 3.2:

class SomeMailer < ActionMailer::Base

  include AbstractController::Callbacks
  after_filter :set_delivery_options

  private
  def set_delivery_options
    settings = {
      :address => 'smtp.server',
      :port => 587,
      :domain => 'your_domain',
      :user_name => 'smtp_username',
      :password => 'smtp_password',
      :authentication => 'PLAIN' # or something
    }

    message.delivery_method.settings.merge!(settings)
  end
end

Решение, вдохновленное Как отправлять электронные письма с несколькими динамическими протоколами SMTP, используя Actionmailer / Ruby on Rails

7
задан Brian Tompsett - 汤莱恩 14 January 2017 в 10:41
поделиться

4 ответа

Я предлагаю разместить атрибуты идентификатора в теле, а не в первой строке каждого из них.

HTML

<table>
    <tbody id="emergency">
        <tr>
            <th colspan="2">Emergency</th>
        </tr>
        <tr>
            <td>Emergency data</td>
            <td>Emergency data</td>
        </tr>
        <tr>
            <td>Emergency data</td>
            <td>Emergency data</td>
        </tr>
    </tbody>
    <tbody id="urgent">
        <tr>
            <th colspan="2">Urgent</th>
        </tr>
        <tr>
            <td>Urgent Data</td>
            <td>Urgent Data</td>
        </tr>
        <tr>
            <td>Urgent Data</td>
            <td>Urgent Data</td>
        </tr>
    </tbody>
</table>

jQuery

var emergencyRows = $("tbody#emergency").find("tr:gt(0)");
var urgentRows = $("tbody#urgent").find("tr:gt(0)"); 

Фрагмент jQuery получит все соответствующие строки, за исключением первые ряды.

8
ответ дан 6 December 2019 в 06:03
поделиться

Это, наверное, самый чистый

$('#emergency').closest('tbody').children(); //only returns first child element, so the <tr>'s
4
ответ дан 6 December 2019 в 06:03
поделиться

Из вашего примера кажется, что вам могут понадобиться «все строки, кроме той, которая содержит #emergency. ". В этом случае вы можете использовать следующее:

$ ('# Emergency'). Closest ('tr'). Siblings ();

Обратите внимание, что #emergency не обязательно или или что-то конкретное. Это может быть любой элемент в ячейке таблицы.

или что-нибудь в частности. Это может быть любой элемент в ячейке таблицы.

или что-нибудь в частности. Это может быть любой элемент в ячейке таблицы.

3
ответ дан 6 December 2019 в 06:03
поделиться

Попробуйте:

var emergencyRows = $("th#emergency").parent().parent().find("tr:gt(0)");

, чтобы получить все строки, не являющиеся строкой заголовка.

2
ответ дан 6 December 2019 в 06:03
поделиться
Другие вопросы по тегам:

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