jQuery替换部分字符串

时间:2012-03-20 13:40:43

标签: jquery

我有以下代码:

​<div id="container">
 <input type="text" name="a1" id="a1">
 <input type="text" name="a2" id="a2">
​</div>​​​​​​​​​​​​​​​​

我想将所有文本“a”替换为“b”,以替换div id =“container”中所有元素的id和name属性

所以新代码应该是这样的:

​<div id="container">
 <input type="text" name="b1" id="b1">
 <input type="text" name="b2" id="b2">
​</div>​​​​​​​​​​​​​​​​

我似乎无法使用javascript replace()来使其工作。

4 个答案:

答案 0 :(得分:6)

$('#container input').each(function(){ // Loop through all inputs
    this.name = this.name.replace('a', 'b');  // Replace name
    this.id = this.id.replace('a', 'b');  // Replace ID
});

DEMO:http://jsfiddle.net/G3vCf/

答案 1 :(得分:1)

$('#a1').attr('name', 'b1').attr('id', 'b1');
$('#a2').attr('name', 'b2').attr('id', 'b2');

答案 2 :(得分:0)

$("#container").children("input").each(function() {
    var name = $(this).attr("name");
    var id = $(this).attr("id");

    name = name.replace(/a/g, "b");
    id = id.replace(/a/g, "b");

    $(this).attr("name", name);
    $(this).attr("id", id);
});

答案 3 :(得分:0)

下面

 $(function(){
    var html =$('#container').html().replace(/a/g,'b');
    $('#container').html(html);​
});

Example