用组件替换具有特定标记的所有元素

时间:2016-06-26 21:20:33

标签: javascript jquery reactjs

有可能吗?

基本上我想做的是点击“编辑”按钮这样的事件我需要用输入字段替换所有带有特定标签的元素我知道如何用jQuery做它但是更喜欢用反应来做

jQuery / Pseudo Code:

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

2 个答案:

答案 0 :(得分: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";
}

答案 1 :(得分:0)

如果你计划用输入标签替换anchor标签,那么更干净的方法是使用包装器并用输入字段的html替换每个包装器中的html。可以使用JQuery通过以下方式为每个元素分配包装:

$('#notify-container').parent()