2016-06-26 2 views
0

Возможно ли это?Заменить все элементы специальным тегом на компонент

В основном, что я хотел бы сделать, это событие, например, нажатие кнопки «Изменить». Мне нужно заменить все элементы определенным тегом на поле ввода. Я знаю, как это сделать с помощью jQuery, но предпочел бы делать это с помощью реагировать.

JQuery/Псевдо Код:

$('a').each(function(e,i){ 
    e.html('<input placeholder="'+ e.text() +'" />'); 
}); 
+0

Быстрый ответ: да, конечно, это возможно со многими проектами с использованием React. Одна из идей заключалась бы в создании Компонента, который имел бы 2 состояния и опору, которая контролирует состояние (редактируемое или ссылка). При рендеринге вы можете решить, какое состояние подходит. –

ответ

1

Конечно, вы можете, однако реагировать заменят весь элемент, который вы оказываете на.

const links = document.querySelectorAll('a'); 

for (let i = 0; i < links.length; i++) { 
    const link = links[i]; 
    ReactDom.render(
    <LinkNode text={link.textContent} />, 
    link 
); 

    link.style.border = "5px solid red"; 
} 
0

Если вы планируете заменить якорь тег с входным теге, то уборщик способ будет использовать обертку и заменить HTML внутри каждой оболочки с html для поля ввода. Обертка для каждого элемента может быть назначена следующим использованием JQuery:

$('#notify-container').parent() 
Смежные вопросы