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

У меня есть div на моем веб-сайте, что является тем же самым, что и выше. Я поставил переменной равным этой div с помощью кода:Установите переменную равным содержимому div

tavern = document.querySelector(".detail") 

Теперь я хочу новую переменную, чтобы равняться числу внутри этого div. Так что я нужен способ, чтобы отфильтровать «Upgrade Level» и установить новую переменную равно количеству внутри div:

tavernLevel = 4 

Im не уверен, как это сделать?

Любая помощь будет оценена по достоинству.

ответ

1

Вы можете использовать split() функцию, если текст всегда то же Upgrade Level "number" она разбивает объект типа String в массив строк, разделяя строку на подстроки, используя заданный разделитель (в нашем случае сепаратора Upgrade Level), поэтому он будет вернуть массив из двух столбцов ['Upgrade Level ','4'], и мы примем во второй колонке с использованием индекса [1]:

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

Надеется, что это помогает.

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

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

+0

, когда я запускаю это в хромированной консоли она возвращает неопределенной вы знаете, почему это может быть –

+0

@ A.Seidel он возвращает предупреждение с неопределенным значением внутри него? отлично работает в моем хроме, проверьте эту скрипту https://jsfiddle.net/jnwrc5ay/123/ –

+0

@ ZakariaAcharki ошибка произошла из нижнего регистра «L» для уровня спасибо за помощь, и теперь она работает сейчас https: // jsfiddle. сеть/Adamseidel/c44eanzw/3 / –

0

Вы можете сделать это с регулярным выражением.

var regExp = /\d+/g; 

var strHtml = "Upgrade level 4"; 

strHtml.match(regExp); // return ["4"].Just use parseInt to get the number 
Смежные вопросы