循环中的 jQuery 类选择器
jquery class selector inside a loop
我对jquery中的表达式有一个简单的问题,以选择一个涉及for循环的类。基本上,我有两个步骤:1. 生成一些带有循环的 html 表。2. 使用 jQuery 取消隐藏它们。
以下是简化的代码1. 生成 html 表(我将添加一个循环索引来分隔每个循环创建的表):2. 第二步的关键部分是取消隐藏生成的表。我的选择器写成:method_options_1'+i+'
,其中 i 是一个 for 循环索引。
for (var i = 2; i <= 5; i++) {
<tr class="method_options_1'+i+'" style="display: none;"><th><label for="id_CAM_1">Chemical application Method (CAM):</label></th>
<td><select name="CAM_1_'+i+'" id="id_1_'+i+'">
<option value="2">2-Interception based on crop canopy</option>
<option value="9">9-Linear foliar based on crop canop</option></select>
</td></tr>
$('.method_options_1'+i).closest('tr').show();
}
但是,此选择器不起作用,这意味着我无法显示隐藏的元素。同时,如果我从 HTML 和 jquery 中删除索引 i,选择器就可以工作了。由于我必须保留 i 索引,任何人都可以给我一些建议(我试图删除 closest('tr'),但它不起作用)?
'.method_options_1'+i
已经是一个tr
,所以首先尝试删除closest('tr')
步骤:
$('.method_options_1'+i).show();
请参阅 http://jsfiddle.net/WJDCm/
这是因为就Javascript而言,name
只是一个字符串:method_options_1'+i'
。它不计算该字符串中的任何代码。如果要正确执行此操作,请执行如下操作:
.HTML:
<tr class="method_options">etc</tr>
Javascript:
$('.method_options:eq('+i+')').show();
编辑:
也许我误会了。您是在 Javascript for
循环中生成此变量的,因此i
是代码空间中的有效变量。如果是这种情况,那么你只需要拿出closest()
,因为它告诉jQuery沿着DOM向上移动并选择它找到的第一个tr
。在这种情况下,这似乎什么都不是。您希望处理所选tr
,而不是所选tr
的父级。
我真的很想知道你是如何运行上面的代码的......但是这样做确实有效
.HTML:
<table id='myTable'>
</table>
JavaScript:
$(function(){
for (var i = 2; i <= 5; i++) {
$('#myTable').append('<tr class="method_options_1'+i+'" style="display: none;"><th><label for="id_CAM_1">Chemical application Method (CAM):</label></th><td><select name="CAM_1_'+i+'" id="id_1_'+i+'"> <option value="2">2-Interception based on crop canopy</option> <option value="9">9-Linear foliar based on crop canop</option></select> </td></tr>');
$('.method_options_1'+i).closest('tr').toggle('slow');
}
})
溶液
- 在dropdwon菜单中发出针对特定选择器jquery的问题
- 周/年选择器jQuery插件
- DOM元素的属性因选择器-jQuery而异
- 如何使用日期选择器jquery突出显示特定日期
- 如何仅使用日期选择器 Jquery 启用月份的最后几天
- 如何在日期选择器 jquery 的 Select 事件上调用 js 函数
- 如何指定多个选择器 jquery
- 在日期选择器 jQuery 中查看可用日期
- 将其与伪选择器 jquery 一起使用
- 如何将东部标准时间设置为日期选择器 (jquery ui) - 使用 javascript
- 请帮助我添加日期选择器(Jquery Ui)
- 使用缓存选择器(jQuery)选择子元素
- 选择器Jquery中的选择器
- 如何将日期选择器jquery插件添加到bootstrab
- 如何在一个选择器jQuery中显示和隐藏多个元素
- 父选择器Jquery
- 如何使用angularjs在页面加载中调用日期选择器Jquery插件
- 逆选择器jQuery
- IE中的圆角,长选择器?(jquery)
- 如何禁用和启用日期时间选择器jquery插件