2016-06-26 5 views
0

可能ですか?特定のタグを持つすべての要素をコンポーネントに置き換えます。

基本的に私がしたいのは、「編集」ボタンをクリックするようなイベントです。すべての要素を入力フィールドで特定のタグに置き換える必要があります。jQueryを使用する方法はわかっていますが、反応する。

jQueryの/擬似コード:

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

はい、もちろんこれはReactを使用する多くのデザインで可能です。 1つのアイデアは、2つの状態を持つComponentと、状態を制御する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() 
関連する問題