最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Selecting button in second last td of first tr in table - Using jQuery selector - Stack Overflow

programmeradmin0浏览0评论

I've been trying to write a selector in jQuery which selects a button with a class in the second last td of the first tr in a table. This is what I've e up with so far:

$(':button.jtable-edit-mand-button tr:first td:nth-last-of-type(2)').trigger('click');

But it doesn't work.

I've also tried this:

$(':button.jtable-edit-mand-button:td:nth-last-of-type(2):tr:first').trigger('click');

But I get an error which says:

Syntax error, unrecognized expression: unsupported pseudo: td

Here's the JS Fiddle and this W3 Schoosls tutorial is what I'm using for help. All help and suggestions are greatly appreciated.

I've been trying to write a selector in jQuery which selects a button with a class in the second last td of the first tr in a table. This is what I've e up with so far:

$(':button.jtable-edit-mand-button tr:first td:nth-last-of-type(2)').trigger('click');

But it doesn't work.

I've also tried this:

$(':button.jtable-edit-mand-button:td:nth-last-of-type(2):tr:first').trigger('click');

But I get an error which says:

Syntax error, unrecognized expression: unsupported pseudo: td

Here's the JS Fiddle and this W3 Schoosls tutorial is what I'm using for help. All help and suggestions are greatly appreciated.

Share Improve this question edited Apr 3, 2021 at 14:12 Syscall 19.8k10 gold badges43 silver badges59 bronze badges asked Nov 6, 2014 at 20:44 shhasanshhasan 4532 gold badges9 silver badges21 bronze badges 0
Add a ment  | 

2 Answers 2

Reset to default 4

Alternative you can:

$('#tabs-Risks .jtable tr:eq(1) td:nth-last-child(2) button').css('color', 'red');
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tabs-Risks" class="tab ui-tabs-panel ui-widget-content ui-corner-bottom" aria-labelledby="FourthTab" role="tabpanel" aria-expanded="true" aria-hidden="false" style="display: block;">
  <div id="RiskTableContainer" class="jTableContainer" style="width:100%;">
    <div class="jtable-main-container">
      <div class="jtable-busy-panel-background jtable-busy-panel-background-invisible" style="display: none; width: 1432px; height: 835px;"></div>
      <div class="jtable-busy-message" style="display: none;"></div>
      <div class="jtable-title">
        <div class="jtable-title-text">Risks</div>
      </div>
      <table class="jtable">
        <thead>
          <tr>
            <th class="jtable-column-header jtable-column-header-sortable jtable-column-header-sorted-asc" style="width: 3.91146589259797%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">WBS</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="display: table-cell; width: 6.25834542815675%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Task Name</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 6.47169811320755%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Risk Event</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.40493468795356%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Date of Concern</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 8.88969521044993%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Impact</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 6.04499274310595%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Date Identified</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 4.26705370101597%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Days Open</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="display: none;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Date Closed</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="display: none;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Type</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="display: none;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Mitigation Cost</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 6.54281567489115%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Probability</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 4.83599419448476%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Impact Effect</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 4.83599419448476%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Cost Impact</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 4.97822931785196%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Overall Impact</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.90275761973875%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Expected Cost</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 14.2235123367199%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Impact Discussion</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.12046444121916%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Priority Effect</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.12046444121916%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Priority ($)</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.19158200290276%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Severe?</span>

              </div>
            </th>
            <th class="jtable-mand-column-header" style="width: 1%;"></th>
            <th class="jtable-mand-column-header" style="width: 1%;"></th>
          </tr>
        </thead>
        <tbody>
          <tr class="jtable-data-row" data-record-key="267">
            <td>1.0</td>
            <td>Obtain building permits</td>
            <td><a href="http://shhasan.ddns/risk/view/267">get building permit earlier</a>

            </td>
            <td>2014-03-18</td>
            <td>start dry wall job earlier then expected</td>
            <td>2014-01-21</td>
            <td>269</td>
            <td style="display: none;">2014-10-17</td>
            <td style="display: none;">Opportunity</td>
            <td style="display: none;"></td>
            <td>0%</td>
            <td>70</td>
            <td>$3000</td>
            <td>0</td>
            <td>$0</td>
            <td>This will only effect dry wallers</td>
            <td>10</td>
            <td>1</td>
            <td>No</td>
            <td class="jtable-mand-column">
              <button title="Edit Risk" class="jtable-mand-button jtable-edit-mand-button"><span>Edit Risk</span>

              </button>
            </td>
            <td class="jtable-mand-column">
              <button title="Delete" class="jtable-mand-button jtable-delete-mand-button"><span>Delete</span>

              </button>
            </td>
          </tr>
          <tr class="jtable-data-row jtable-row-even" data-record-key="650">
            <td>14.3.1</td>
            <td>Plumbing</td>
            <td><a href="http://shhasan.ddns/risk/view/650">Leaks</a>

            </td>
            <td>2014-10-05</td>
            <td></td>
            <td>2014-09-26</td>
            <td>26</td>
            <td style="display: none;">2014-10-22</td>
            <td style="display: none;">Threat</td>
            <td style="display: none;"></td>
            <td>0%</td>
            <td>0</td>
            <td>$1002</td>
            <td>0</td>
            <td>$0</td>
            <td></td>
            <td>10</td>
            <td>1</td>
            <td>No</td>
            <td class="jtable-mand-column">
              <button title="Edit Risk" class="jtable-mand-button jtable-edit-mand-button"><span>Edit Risk</span>

              </button>
            </td>
            <td class="jtable-mand-column">
              <button title="Delete" class="jtable-mand-button jtable-delete-mand-button"><span>Delete</span>

              </button>
            </td>
          </tr>
        </tbody>
      </table>
    </div>

Of course in your example you use .trigger() instead of .css().

References:

:eq()

:nth-last-child()

You could use:

$('.jtable-data-row:first-child td:nth-last-of-type(2) button').css('background', 'red');
<script src="https://ajax.googleapis./ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="tabs-Risks" class="tab ui-tabs-panel ui-widget-content ui-corner-bottom" aria-labelledby="FourthTab" role="tabpanel" aria-expanded="true" aria-hidden="false" style="display: block;">
  <div id="RiskTableContainer" class="jTableContainer" style="width:100%;">
    <div class="jtable-main-container">
      <div class="jtable-busy-panel-background jtable-busy-panel-background-invisible" style="display: none; width: 1432px; height: 835px;"></div>
      <div class="jtable-busy-message" style="display: none;"></div>
      <div class="jtable-title">
        <div class="jtable-title-text">Risks</div>
      </div>
      <table class="jtable">
        <thead>
          <tr>
            <th class="jtable-column-header jtable-column-header-sortable jtable-column-header-sorted-asc" style="width: 3.91146589259797%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">WBS</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="display: table-cell; width: 6.25834542815675%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Task Name</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 6.47169811320755%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Risk Event</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.40493468795356%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Date of Concern</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 8.88969521044993%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Impact</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 6.04499274310595%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Date Identified</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 4.26705370101597%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Days Open</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="display: none;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Date Closed</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="display: none;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Type</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="display: none;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Mitigation Cost</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 6.54281567489115%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Probability</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 4.83599419448476%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Impact Effect</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 4.83599419448476%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Cost Impact</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 4.97822931785196%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Overall Impact</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.90275761973875%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Expected Cost</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 14.2235123367199%;">
              <div class="jtable-column-header-container"> <span class="jtable-column-header-text">Impact Discussion</span>

                <div class="jtable-column-resize-handler"></div>
              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.12046444121916%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Priority Effect</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.12046444121916%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Priority ($)</span>

              </div>
            </th>
            <th class="jtable-column-header jtable-column-header-sortable" style="width: 5.19158200290276%;">
              <div class="jtable-column-header-container"><span class="jtable-column-header-text">Severe?</span>

              </div>
            </th>
            <th class="jtable-mand-column-header" style="width: 1%;"></th>
            <th class="jtable-mand-column-header" style="width: 1%;"></th>
          </tr>
        </thead>
        <tbody>
          <tr class="jtable-data-row" data-record-key="267">
            <td>1.0</td>
            <td>Obtain building permits</td>
            <td><a href="http://shhasan.ddns/risk/view/267">get building permit earlier</a>

            </td>
            <td>2014-03-18</td>
            <td>start dry wall job earlier then expected</td>
            <td>2014-01-21</td>
            <td>269</td>
            <td style="display: none;">2014-10-17</td>
            <td style="display: none;">Opportunity</td>
            <td style="display: none;"></td>
            <td>0%</td>
            <td>70</td>
            <td>$3000</td>
            <td>0</td>
            <td>$0</td>
            <td>This will only effect dry wallers</td>
            <td>10</td>
            <td>1</td>
            <td>No</td>
            <td class="jtable-mand-column">
              <button title="Edit Risk" class="jtable-mand-button jtable-edit-mand-button"><span>Edit Risk</span>

              </button>
            </td>
            <td class="jtable-mand-column">
              <button title="Delete" class="jtable-mand-button jtable-delete-mand-button"><span>Delete</span>

              </button>
            </td>
          </tr>
          <tr class="jtable-data-row jtable-row-even" data-record-key="650">
            <td>14.3.1</td>
            <td>Plumbing</td>
            <td><a href="http://shhasan.ddns/risk/view/650">Leaks</a>

            </td>
            <td>2014-10-05</td>
            <td></td>
            <td>2014-09-26</td>
            <td>26</td>
            <td style="display: none;">2014-10-22</td>
            <td style="display: none;">Threat</td>
            <td style="display: none;"></td>
            <td>0%</td>
            <td>0</td>
            <td>$1002</td>
            <td>0</td>
            <td>$0</td>
            <td></td>
            <td>10</td>
            <td>1</td>
            <td>No</td>
            <td class="jtable-mand-column">
              <button title="Edit Risk" class="jtable-mand-button jtable-edit-mand-button"><span>Edit Risk</span>

              </button>
            </td>
            <td class="jtable-mand-column">
              <button title="Delete" class="jtable-mand-button jtable-delete-mand-button"><span>Delete</span>

              </button>
            </td>
          </tr>
        </tbody>
      </table>
    </div>

Reference: MDN - :first-child, MDN - :nth-last-of-type

发布评论

评论列表(0)

  1. 暂无评论