微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery-获取最接近的div的ID?

如何解决jQuery-获取最接近的div的ID?

| 嗨,我有车辆列表
 <table>
 <tr class=\"${(i % 2) == 0 ? \'odd\' : \'even\'}\" id =\"rows\">
   <td>
      <div class=\"check_Box_div\">
       <div class=\"check_Box_list\">
         <g:checkBox id = \"isActive_${i}\" class=\"isActive\" name=\"isActive\"  value=\"${vehicleInstance?.isActive}\" />
          <input type=\"hidden\" value=\"${vehicleInstance?.id}\" class=\"vehicleId\" name=\"vehicleId\" id=\"isActive_${i}_\" />
        </div>
       <div class=\"display_image\" id =\"display_image_${i}\"></div>
      </div>    
    </td>

  </tr>
表有很多行 我想获取div的ID,其中每行我都试图获取它的类名称为\“ display_image \”
   $(\".isActive\").click(function() {
     var checkBox_id = $(this).attr(\"id\");
     var checkBox = $(\'#\'+checkBox_id);
     var div_id =$(\'#\'+checkBox_id).closest(\"div\").find(\".display_image\").attr(\"id\"); // always returns div_id =display_image_0(div id of first row)
这适用于第一行,但也适用于第二行,它仅返回第一行的div的ID 我应该进行哪些更改,以便每行获取div的ID     

解决方法

        向上直到找到该行,然后再次向下找到显示图像:
$(\".isActive\").click(function() {
    var div_id = $(this).closest(\'tr\').find(\'.display_image\').attr(id);
    // ...
});
请注意,这完全不依赖于原始元素的ID,仅取决于DOM中元素的布局。 可能有更多的最佳解决方案,但是不管每行中
.isActive
.display_image
元素的相对位置如何,该解决方案都将起作用。     ,        尝试这个。
 $(\".isActive\").click(function() {
 var div_id = $(this).parents(\".check_box_list\").next(\".display_image\").attr(\"id\");
 }
我使用父母而不是父母,以防万一您改变任何标记。     ,        
closet
在这里不起作用..据我所知,壁橱对父母的继承权很有效。 试试这个
var div_id =$(\'#\'+checkBox_id).parents(\".check_box_div\").find(\".display_image\").attr(\"id\"); 
    ,        采用
$(\".isActive\").click(function() {
    var $row = $(this).closest(\"tr\");
    var $div_id = $row.find(\"div.display_image\").attr(\"id\");
});
jsFiddle:http://jsfiddle.net/5TV9A/8/     ,        您可以将所有信息存储在Array中,并在循环后处理它们。
$(\".isActive\").click(function() {
     var checkBox_id = $(this).attr(\"id\");
     var checkbox = $(\'#\'+checkBox_id);
     var div_array = new Array();
     $(\'.display_image\').each(function(index) {
              var div_array[index] = //whatever you want;
      });
     // Now in div_array you have stored all the information you want (the id as well)
希望能帮助到你     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?