找到最近/下一个div

时间:2014-01-26 11:17:45

标签: javascript jquery

我在<td>标记下有2个div:

 // first
<td>
  <div class="date">$row[11]</div>
</td>
<td class="status1">
    <div class="question">
      <form action="update.php" method="post" id="form-id" enctype="multipart/form-data">
       <div class="recstatus">$row[12]</div>
        <input type="hidden" value="$row[12]" name="recstatus">
        <input type="hidden" value=$row[1] name="audit_name">
       <select name="status" class="select" >
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option   selected="selected">choose</option>
       </select>


      <div class="subquestion">
       <label>upload file</label>
       <input type="file" name="file">
       <input type="submit" name="submit">
      </div>

     </form><br/>
   </div>

    //second
   <div class="question1">
        <form action="update.php" method="post" id="form-id" enctype="multipart/form-data">
          <input type="hidden" value=$row[1] name="audit_name">
         <select name="status1" >
          <option value="4">4</option>
          <option  selected="selected">choose</option>
         </select>
         <div class="subquestion1">
          <label>upload file</label>
          <input type="file" name="file">
          <input type="submit" name="submit">
         </div>
        </form>

   </div>
 </td>

这是JQuery:

 $(document).ready(function () {
    $('.date').each(function () {
        $('.question1').hide();
        var date = new Date($(this).text().replace("-", "/"));
        var recstatus = $(this).closest('td').next().find('.recstatus');
        if (new Date() > date && recstatus.text() == 3) {
            recstatus.addClass('invaliddate');
            //if this is true then hide first div and show second div
            // something like this.. but this isn't working 
            // i need closest/next div (this divs are in cycle)
            $(this).closest("div").find(".question1").show();
            $(this).closest("div").find(".question").hide();
        }
    });
});

我想显示question1 div if(这个jquery if语句为true)并隐藏问题div 但它们在周期<td>下,所以我想要使用

的下一个/最近的函数

1 个答案:

答案 0 :(得分:2)

您需要找到父td元素,然后找到您需要找到相关div的下一个兄弟td

$(this).closest("td").next().find(".question1").show();
$(this).closest("td").next().find(".question").hide();