2014-02-15 2 views
-2

Я хотел бы заменить все animal[0] на animal[1] в html. , но я не хочу заменять tiger[0] на tiger[1] в том же html.как заменить всю строку, включая квадратную скобку в javascript

, например,

<input type="hidden" name="animal[0].tiger[0].prey"/> 

в

<input type="hidden" name="animal[1].tiger[0].prey"/> 
+5

Вы пробовали что-нибудь еще? Кажется, вам даже не нужно регулярное выражение для этого, если нет более того, о котором вы не говорили ... – Jerry

ответ

1

Вы можете использовать эти

  1. Используйте селектор атрибута [name^="animal[0]"], который выберет теги, которые имеют атрибут имени, имеющий значение animal[0] в начале (^ is for represent at the start).

  2. each() методом перебора каждого входного тега с именем, начиная с animal[0].

  3. Использование replace() для замены animal[0] на animal[1].


$('input[name^="animal[0]"]').each(function(){ 
    this.name=this.name.replace('animal[0]', 'animal[1]') 
}); 
+3

«Попробуйте это» не объясняет код;) –

+0

Я не знаю, как поблагодарить ваш быстрый ответ. вы очень помогаете. Благодарю. – crzhacko

+0

@crzhacko: рад помочь :) –

0
var res = htmlString.replace('animal[0', 'animal[1'); 
+2

Пожалуйста, объясните все ответы, которые вы публикуете. Что делать, если OP не знает, как захватить элемент ввода для запуска на нем замены? –

+1

@RUJordan IOW, что делает этот ответ, - это лишь малая часть того, что нужно сделать, и мы не знаем, сколько из них может попросить его сделать. –

+0

@JanDvorak абсолютно верно –

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