Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

154
Visualizações
How can I convert one html element to another element?

Recently I have been coding the WeChat mini program.

There are some HTML strings will get from the remote server (these strings are also used by the website, so it has to convert by JavaScript) and render into the body of the mini program.

Whereas, WeChat mini program cannot accept the HTML strings that I have to convert it.

For example, the HTML strings are like this:

<div>
   <h2 id="Title">Here is a H2</h2>
   <article class="ContentArticle">
   There are some articles.
   </article>
</div>

I have to convert them like this:

<view class="div">
   <text class="Title h2">Here is a H2</text>
   <text class="ContentArticle article">
   There are some articles.
   </text>
</view>

In my first opinion, I consider achieving this by String.replace method. However, it can hardly match the class and id.

How can I achieve this by using the original JavaScript (the WeChat mini program does not support any other library such as jQuery)?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Here is some code that will transform any html code received from your backend into the desired format. No matter what kind of and how many elements are encountered, they will be converted into <text> elements with .classNames composed of their id (if available), their original .className and their original .tagName (in lower case):

const htmlArr=[`<div>
   <h2 id="Title">Here is an H2</h2>
   <article class="ContentArticle">
   There are some articles.
   </article>
</div>`,
`<div>
   <h2 id="Title">Here is another H2</h2>
   <article class="ContentArticle">
   And here are some more.
   </article>
</div>`,
`<div>
   <h3 id="Title">Here is an H3 heading</h3>
   <article class="ContentSubArticle">
   This is a sub-article.
   </article>
</div>`];

document.body.innerHTML=htmlArr.map(d=>{
 let div=document.createElement("div");
 div.innerHTML=d;
 return '<view class="div">'+[...div.children[0].children].map(e=>`<text class="${((e.id||"")+" "+e.className).trim()} ${e.tagName.toLowerCase()}">${e.innerHTML}</text>`).join("")+'</view>';
}).join("\n");

console.log(document.body.innerHTML)

htmlArr is an array with possible html strings. In the snippet above all strings are converted and then put on the page by using document.body.innerHTML. This was merely done for demonstration purposes. The conversion output can of course be used in different ways

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda