2017-10-05 13 views
0

J'essaie d'obtenir une certaine partie d'un document html. Lorsque j'essaie de lancer getElementById sur l'élément créé, les débogueurs me disent que getElementById() n'est pas une fonction. getElementsByTagNames() fonctionne, mais le nombre de div est en train de changer dans le document html original quand le site web obtient un nouveau contenu, donc j'obtiens le mauvais résultat.JS getElementById à partir de l'élément créé

Quelqu'un peut-il m'aider s'il vous plaît? Je veux que cela fonctionne:

function parse(str) { 
    var el = document.createElement('html'); 
    el.innerHTML=str; 
    el.getElementById('results'); 
} 
+0

https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById - s'il vous plaît lire - vous ne pouvez rechercher que le document - et où est l'élément avec l'identifiant 'results'? Dans la chaîne que vous passez? –

+0

Un identifiant doit être unique dans un document, pourquoi devez-vous limiter la portée de la recherche? – Quentin

Répondre

0

Element ne méthode ont défini getElementById() donc pas votre n'a pas travaillé.

Comme alternative, vous pouvez utiliser querySelector()

var str = '<div><span id="results">1</span></div>' 
 
var el = document.createElement('html'); 
 
el.innerHTML = str; 
 
console.log(el.querySelector('#results'));

+0

Merci. C'était exactement ce que je cherchais :) – Sync