2012-03-20 7 views
1

У меня есть следующий код:JQuery Заменить часть строки

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

И я хочу, чтобы заменить весь экземпляр текста «а» до «б» для идентификатора и имя свойства для всех элементов внутри DIV ID = «контейнер»

поэтому новый код должен быть таким:

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

Я просто не могу показаться, чтобы быть в состоянии сделать его работу с помощью Javascript заменить().

+4

Покажите нам код, который вы пробовали уже. Кроме того, вы явно не хотите заменять _all_ 'a' на' b', потому что в итоге вы получите разметку типа ''. Итак, что вы на самом деле пытаетесь сделать? –

ответ

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
$('#a1').attr('name', 'b1').attr('id', 'b1'); 
$('#a2').attr('name', 'b2').attr('id', 'b2'); 
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); 
}); 
0

Здесь

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

Example

Смежные вопросы