查找最近/下一个div [英] Find closest/next div

查看:100
本文介绍了查找最近/下一个div的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have 2 divs under <td> tag :

 // 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();
        }
    });
});

我想显示问题1 div是否(如果语句为true,则显示此jQuery)并隐藏问题div 但它们处于循环<td>下,因此我希望使用下一个/最近的函数

I want to show question1 div if (this jquery if statement is true) and hide question div but they are under <td> in cycle so i want next/closest functions to use

推荐答案

您需要找到父td元素,然后是下一个同级td元素,您需要在其中查找相关的div

You need find the parent td element then the next sibling td where you need to find the div's in question

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

这篇关于查找最近/下一个div的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆