最接近jQuery的类选择器

时间:2018-03-23 12:37:50

标签: javascript jquery

我正在使用jQuery 1.12.4设置使用类选择器获取最接近的前一个元素的值。我无法选择最接近的元素。

$(function() {
  $("[class='quickSelect']").blur(function() {
    var obj = $(this);
    alert($(this).parent());
    // alert($(this).closest("[class~='endDateField']")); 	
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td align="right">
      Start Date
    </td>
    <td>
      <input type="text" name="debitStartDate" value="" class="dateField startDateField">
    </td>
    <td align="right">
      End Date
    </td>
    <td>
      <input type="text" name="debitEndDate" value="" class="dateField endDateField">
    </td>


    <td class="debitApportioner" style="align:right">
      Quick Select
    </td>
    <td class="debitApportioner" colspan="2">
      <select class="quickSelect">
          <option> SELECT  </option>
          <option> JANUARY  </option>
          <option> FEBRUARY  </option>
          <option> MARCH  </option>
      </select>
      <input class="quickSelect" type="text" />
    </td>
  </tr>


</table>

1 个答案:

答案 0 :(得分:2)

试试这个:

$(".quickSelect").blur(function() {
    var obj = $(this);
    obj.closest('tr').find('.endDateField');  // will find the endDateField in the current row
  });

closest()只遍历树的祖先并停在与选择器匹配的第一个元素上,所以上面说的找到输入的最近祖先tr然后在里面找到任何endDateField TR