我试图替换输入 id 属性的特定部分和 each() 中的标签属性。但是,当我检查渲染时,只有输入 id 的属性更改为 id="something_else_[name]",但标签 for 的属性保持不变,如 for="id_target_[name]"。
我究竟做错了什么?
jQuery:
$(window).bind('load', function() {
$('.target').each( function() {
$(this).html($(this).html().replace('id_target','something_else'));
});
});
Run Code Online (Sandbox Code Playgroud)
标记:
<div class="target">
<input id="id_target_Bob" type="checkbox">
<label for="id_target_Bob">Target Bob</label>
</div>
Run Code Online (Sandbox Code Playgroud)
结果:
<div class="target">
<input id="something_else_Bob" type="checkbox">
<label for="id_target_Bob">Target Bob</label> <!-- why is this left unchanged? -->
</div>
Run Code Online (Sandbox Code Playgroud)
.replace只替换搜索字符串的第一个实例。如果要替换所有实例,则必须使用带有g(全局)标志的正则表达式:
.replace(/id_target/g, 'something_else')
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/ExplosionPIlls/cV6pw/
| 归档时间: |
|
| 查看次数: |
6310 次 |
| 最近记录: |