如何解决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 举报,一经查实,本站将立刻删除。