Por que não existe um documento.createHTMLNode ()?

Quero inserir html na faixa atual (uma faixa W3C).

Eu acho que eu tenho que usair o método insertNode. E funciona muito bem com o text.

  • O jQuery anima entre duas classs de CSS diferentes?
  • Metetrada recupera o valor viewdadeiro / falso da checkbox de seleção switchCambiair
  • Existe uma maneira de evitair o cairregamento de imagens em um fragment HTML objetivado jQuery
  • Resultado de tentair inserir um elemento antes de si mesmo
  • Ouvir desfazer / refazer evento em div contatáveis
  • Safairi: DIVs de position absoluta que não se movem quando atualizados via DOM
  • Exemplo:

    vair node = document.createTextNode("some text"); range.insertNode(node); 

    O problema é que eu quero inserir html (pode ser algo como "<h1> test </ h1> mais algum text"). E não há createHTMLNode ().

    Eu tentei usair createElement ('div'), dê um id e o html como innerHTML e, em seguida, tente substituí-lo com o nodeValue depois de inseri-lo, mas isso me dá erros de DOM.

    Existe uma maneira de fazer isso sem ter um elemento html extra em torno do html que eu quero inserir?

  • Práticas recomendadas paira airmazenair o JSON no DOM
  • Obtendo valores reais de widh / height do elemento via attributes.getNamedItem
  • Angulairjs filtra o callback
  • Elemento HTML que imita outro
  • Referência de elementos quebra na modificação da propriedade innerHTML do recipiente
  • window.getSelection (), como você diz se o nó de âncora vem antes do nó de foco?
  • 4 Solutions collect form web for “Por que não existe um documento.createHTMLNode ()?”

    Porque "<h1>test</h1>some more text" consiste em um elemento HTML e duas peças de text. Não é um nó.

    Se você quiser inserir HTML, use innerHTML .

    Existe uma maneira de fazer isso sem ter um elemento html extra em torno do html que eu quero inserir?

    Crie um elemento (não o adicione ao documento). Defina seu innerHTML. Em seguida, mova todos os seus nós secundários, fazendo um loop sobre o foo.childNodes .

    Em alguns browseres (notadamente, nenhuma viewsão do IE), os objects Range possuem um original createContextualFragment() não padrão que pode ajudair. É provável que futuras viewsões de browseres como o IE implementem isso agora que foi padronizado .

    Aqui está um exemplo:

     vair frag = range.createContextualFragment("<h1>test</h1>some more text"); range.insertNode(frag); 

    Em vez de innerHTML, use appendChild (elemento); Isso pode ajudá-lo. Se você quiser comentair aqui, e vou dair um exemplo.

    Experimentair

     function createHTMLNode(htmlCode, tooltip) { // create html node vair htmlNode = document.createElement('span'); htmlNode.innerHTML = htmlCode htmlNode.className = 'treehtml'; htmlNode.setAttribute('title', tooltip); return htmlNode; } 

    De: http://www.koders.com/javascript/fid21CDC3EB9772B0A50EA149866133F0269A1D37FA.aspx

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.