【问题标题】:Set variable to equal contents of div将变量设置为 div 的相等内容
【发布时间】:2016-10-23 02:54:53
【问题描述】:
<div class="detail">Upgrade Level 4</div>

我的网站上有一个div,与上面的相同。我已经使用代码设置了一个变量来等于这个div

tavern = document.querySelector(".detail")

我现在想要一个新变量来等于这个div 中的数字。所以我需要一种方法来过滤掉“升级级别”并设置一个新变量来等于div中的数字:

tavernLevel = 4

我不确定该怎么做?

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript html google-chrome dom console


    【解决方案1】:

    您可以使用 split() 函数,如果文本总是相同的 Upgrade Level "number"大小写分隔符是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);
    &lt;div class="detail"&gt;Upgrade Level 4&lt;/div&gt;

    【讨论】:

    • 当我在 chrome 控制台中运行它时它返回 undefined 你知道为什么会这样吗
    • @A.Seidel 它返回一个带有未定义值的警报?在我的 chrome 中工作正常检查这个小提琴jsfiddle.net/jnwrc5ay/123
    • @ZakariaAcharki 错误来自小写字母“L”表示级别感谢您的帮助,我现在可以正常工作了jsfiddle.net/Adamseidel/c44eanzw/3
    【解决方案2】:

    你可以用正则表达式来做到这一点。

    var regExp = /\d+/g;
    
    var strHtml = "Upgrade level 4";
    
    strHtml.match(regExp ); // return ["4"].Just use parseInt to get the number
    

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 2012-06-10
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 2019-05-08
      • 2013-08-07
      • 2020-01-01
      相关资源
      最近更新 更多