jQuery获得上一个元素无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery获得上一个元素无法正常工作相关的知识,希望对你有一定的参考价值。

当选中复选框时,我正在使用jQuery尝试获取最接近的上一个元素,像这样...

jQuery( document ).ready(function() 

    jQuery(".input1").change(function() 
    
      var myinput = jQuery(this).closest(".myinput");
  		console.log(myinput);

    );  
          
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <td>
    <div class="element1">
      <input class="myinput">
    </div>
  </td>
  <td>
    <div class="element2">
    </div>
  </td>
  <td>
    <div class="element3">
    <input type="checkbox" class="input1">
    </div>
  </td>
</table>

单击复选框后,它会向我提供控制台日志中原始单击的元素,而不是myinput元素。

我要去哪里错了?

答案

尝试此操作,获取父表,然后获取最接近的输入。添加.closest('table')选择器后,console.log显示匹配的输入

jQuery( document ).ready(function() 

    jQuery(".input1").change(function() 
      var myinput = 
        jQuery(this).closest('table').find(".myinput");
        console.log(myinput);

    );  
          
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <td>
    <div class="element1">
      <input class="myinput">
    </div>
  </td>
  <td>
    <div class="element2">
    </div>
  </td>
  <td>
    <div class="element3">
    <input type="checkbox" class="input1">
    </div>
  </td>
</table>

以上是关于jQuery获得上一个元素无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery gt() 和 lt() 访问无法正常工作的元素范围

“Keypress”事件无法正常工作,使用 jQuery 和 Select2

jQuery 偏移顶部无法正常工作

jQuery函数无法正常工作

JQuery UI 显示/幻灯片无法正常工作

jquery-watermark 插件和 HTML5 电子邮件输入类型无法正常工作