JQuery:查找和替换属性值

前端之家收集整理的这篇文章主要介绍了JQuery:查找和替换属性值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法执行查找和替换属性值.

考虑这个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>

我正在寻找更新每个名称属性与适当的计数,例如规则[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\]');
});

其中newRow是保存整个块的变量,count表示最新​​的计数器值.
但是,当我调试这个代码时,似乎“this.name”是未定义的.

我在哪里错了?

谢谢

解决方法

要更新元素的属性,您应该使用.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\]'));
});

猜你在找的jQuery相关文章