我在执行查找和替换属性值时遇到困难.
考虑一下这个html:
<tr id="rules[0]">
<td>
<input id="rules0.isActive1" name="rules[0].isActive" type="checkbox" value="true"/><input type="hidden" name="_rules[0].isActive" value="on"/>
</td>
<td>
<select id="rules0.leftCondition.name" name="rules[0].leftCondition.name">
...
</select>
</td>
Run Code Online (Sandbox Code Playgroud)
我希望用适当的计数更新每个名称属性,例如规则[0] .isActive更新为规则[10] .isActive
我正在使用这个JQuery代码段:
$(newRow).find('[id*="rules"]').each(function(){
// Update the 'rules[0]' part of the name attribute to contain the latest count
this.name.replace('rules\[0\]','rules\[$count\]');
});
Run Code Online (Sandbox Code Playgroud)
其中newRow是一个包含整个块的变量,count包含最新的计数器值.但是,当我调试此代码时,似乎"this.name"未定义.
我在哪里错了?
谢谢
kaz*_*kaz 29
要更新元素的属性,您应该使用.attr函数.此外,在jQuery上下文中使用它时,您必须使用$(this)语法.如果我理解你的意图所以它应该是这样的:
$(newRow).find('[id*="rules"]').each(function(){
// Update the 'rules[0]' part of the name attribute to contain the latest count
$(this).attr('name',$(this).attr('name').replace('rules\[0\]','rules\[$count\]'));
});
Run Code Online (Sandbox Code Playgroud)
小智 9
试试这个:假设行属性名称是'filterCol',那么你可以将新值设置为该属性
$("#trId").attr("filterCol", newValue);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57564 次 |
| 最近记录: |