2016-03-29 10 views
0

ich den Textwert (QCD Automotive) in dieser folgenden HTML-Tag erhalten möchten, aber nicht:Spanne Wert innerhalb h1 Erhalten von h1 id Bezug

<h1 class="_58gi" id="pages_name"><span>QCD Automotive</span><span class="_5rqt"><span class="_5rqu"></span></span></h1> 

ich so weit so versucht haben, aber es scheint nicht zu funktionieren. Was mache ich falsch?

pageName = document.GetElementById("pages_name").GetElementByTagName("span").innerText 
+2

lass mich raten ... 'GetElementById' nicht definiert ist? :) – smnbbrv

+0

Scheint einen Syntaxfehler zu haben, es sollte document.getElementById ("pages_name") statt document.GetElementById ("pages_name") sein –

+0

'document.querySelector ('# pages_name span'). TextContent;' – Rayon

Antwort

3

Sie rufen falsche Funktion von Groß- und Kleinschreibung, sollte Ihr statment so aussehen:

pageName = document.getElementById("pages_name").innerText 

Verwendung getElementById() statt GetElementById() und getElementByTagsName() statt .GetElementByTagName().

Hinweis:document.getElementByTagsName() Rückkehr Anordnung von Elementen, also, wenn Sie verwenden möchten, müssen Sie über Array-Index zugreifen: result[0].

In Ihrem Fall, erhalten Sie einfach innerText von Element H1, keine Notwendigkeit, ins Innere Element gehen.

1

Wenn Sie die erste Spanne Wert erhalten möchten, verwenden Sie first

document.getElementById("pages_name").firstChild.span 

OR

Verwendung Kinder

document.getElementById("pages_name").children[0].innerHTML 

Hinweis: Kinder [0] ist die erstes Element im pages_name div.

3

Es ist nicht GetElementById verwenden Sie einfach getElementById.

2

Hier ist eine einfache Lösung mit JQuery

$(document).ready(function(){ 
    //For everything in the first span, use the code below 
    alert($("#pages_name").first().text()); 
    //If you want every text in the tag, use the code below 
    alert($("#pages_name").text()); 
}); 

Hier ist ein Link auf die working demo ist

1

(Debugger Ihres Browsers sollten Sie sagen, dass) .getElementByTagName existiert nicht.

natürlich .getElementsByTagName existiert: dagegen die 's' in Element s. Sie erhalten eine HTMLNodeCollection, die wie ein Array aussieht, aber nicht ganz so ist. More on MDN

Es hat eine Eigenschaft mit dem Namen Länge und alle Indizes sind numerisch, so dass Sie die dumme schau konstruieren über sie mit

for(i=0;i<yourcollection.length;i++) 

oder mit laufen kann:

[].forEach.call(yourCollection, function(item,index){ 
    //whatever has to be done on each item 
} 

Und denken Sie daran: MDN ist dein Freund !

1

versuchen diese

pageName = document.getElementById("pages_name").getElementsByTagName("span")[0].innerText

Verwandte Themen