2016-06-26 5 views
0

가능합니까?특정 태그가있는 모든 요소를 ​​구성 요소로 교체하십시오.

기본적으로 '편집'버튼을 클릭하는 것과 같은 이벤트가 있습니다. 입력 필드가있는 특정 태그로 모든 요소를 ​​바꿔야합니다. jQuery로 작업하는 방법을 알고 있지만이를 수행하는 것이 좋습니다. 반응하다.

jQuery를/의사 코드 :

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

빠른 답변은 예입니다. 물론 React를 사용하는 많은 디자인에서 가능합니다. 하나의 아이디어는 2 개의 상태를 가질 수있는 Component와 상태 (editable 또는 link)를 제어하는 ​​prop를 만드는 것입니다. 렌더링 할 때 어느 상태가 적절한 지 결정할 수 있습니다. –

답변

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() 
관련 문제