2016-06-21 10 views
1
<div class="detail">Upgrade Level 4</div> 

Ich habe eine div in meiner Website, die das gleiche wie oben ist. Ich habe eine Variable dieses div gleich mit dem Code:Variable auf gleiche Inhalte von div setzen

tavern = document.querySelector(".detail") 

ich jetzt eine neue Variable die Zahl in diesem div entsprechen wollen. Also muß ich einen Weg, das „Upgrade Level“, um herauszuzufiltern und eine neue Variable die Zahl innerhalb der div entsprechen:

tavernLevel = 4 

Im nicht sicher, wie dies zu tun?

Jede Hilfe wäre willkommen.

Antwort

1

Sie split() Funktion nutzen könnten, wenn der Text in immer die gleichen Upgrade Level "number" wird es ein String-Objekt in ein Array von Strings aufspaltet durch die Zeichenfolge in Teil Trennung gegeben Trennzeichen (in unserem Fall Separator ist Upgrade Level), so wird es Rückkehr Anordnung von zwei Spalten ['Upgrade Level ','4'] und wir werden die zweite Spalte den Index [1] nehmen:

var tavern = document.querySelector(".detail").innerText; 
var tavernLevel = tavern.split('Upgrade Level ')[1]; 

Hoffnung, das hilft.

var tavern = document.querySelector(".detail").innerText; 
 
var tavernLevel = tavern.split('Upgrade Level ')[1]; 
 

 
alert(tavernLevel);
<div class="detail">Upgrade Level 4</div>

+0

, wenn ich dies in der Chromkonsole führen Sie es zurück undefined wissen Sie, warum diese –

+0

@ A.Seidel sein kann, es eine Warnung mit nicht definierten Wert innerhalb zurückgeben? funktioniert gut in meinem Chrom überprüfen Sie diese Geige https://jsfiddle.net/jnwrc5ay/123/ –

+0

@ ZakariaAcharki der Fehler kam von einem Kleinbuchstaben "L" für Level Danke für die Hilfe ich habe es funktioniert jetzt https: // jsfiddle. Netz/Adamseidel/c44eanzw/3 / –

0

Sie können es mit regulären Ausdrücken tun.

var regExp = /\d+/g; 

var strHtml = "Upgrade level 4"; 

strHtml.match(regExp); // return ["4"].Just use parseInt to get the number