检索跨度值

时间:2018-08-07 14:21:21

标签: javascript jquery html

我无法从以下给定的html中找到如何获取span(80.40)的值。

<div data-total-name="service-fee-total" data-currency="USD" class="col-xs-4 service-fee-total totals cart-total text-right cart-highlight">
  <del></del>
  <span>$80.40</span>
</div>

这是我公司的网站代码,我无权编辑任何内容。我必须使用谷歌标签管理器合并一个新功能,为此我需要span元素中的值。我尝试了下面提到的一些选项。

$(".col-xs-4 service-fee-total totals cart-total text-right cart-highlight span").text()

document.getElementsByClassName("col-xs-4 service-fee-total totals cart-total text-right cart-highlight");

4 个答案:

答案 0 :(得分:3)

您可以按document.querySelectorto locate the span的顺序使用innerHTML来获得这样的值:

console.log(document.querySelector('span').innerHTML);
<div data-total-name="service-fee-total" data-currency="USD" class="col-xs-4 service-fee-total totals cart-total text-right cart-highlight">
  <del></del> <span>$80.40</span>
</div>

注意,前面的代码只是一个替代,您可能想使用比'span'更具体的查询选择器,以便根据您的使用案例获得正确的值,并且innerTexttextContent而非innerHTML。例如(感谢 Tschallacka ):

document.querySelector('[data-total-name="service-fee-total"] > span').innerText

console.log(document.querySelector('[data-total-name="service-fee-total"] > span').innerText);
<div data-total-name="service-fee-total" data-currency="USD" class="col-xs-4 service-fee-total totals cart-total text-right cart-highlight">
  <del></del> <span>$80.40</span>
</div>

jQuery版本

同样,您可以在此处使用selector(即'span:first')来获取跨度,而在text中使用来获取跨度文本。像这样:

console.log($('span:first').text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-total-name="service-fee-total" data-currency="USD" class="col-xs-4 service-fee-total totals cart-total text-right cart-highlight">
  <del></del> <span>$80.40</span>
</div>


进一步阅读:

答案 1 :(得分:1)

您正在使用什么代码?为什么不起作用?是否会产生任何错误?

为了使事情变得非常简单,您可以将一个ID挂接到您的跨度上并使用此JS(因为如果您不需要其他任何东西,jQuery可能会过分杀手):

val yearDF = spark.read.format("jdbc").option("url", connectionUrl)
                                                   .option("dbtable", "(select * from schema.tablename where source_system_name='DB2' and period_year='2017') as year2017")
                                                   .option("user", devUserName)
                                                   .option("password", devPassword)
                                                   .option("numPartitions",15)
                                                   .load()

答案 2 :(得分:0)

您可以使用jQuery

首先,您必须在HTML文件中包含jquery cdn链接。

<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>

之后,您可以写

$(".cart-highlight > span").html();

您将获得span的内容。

答案 3 :(得分:0)

完整的示例,在Alert中显示以下文本:

  

      <html>
        <body>
        
        <div data-total-name="service-fee-total" data-currency="USD" class="col-xs-4 service-fee-total totals cart-total text-right cart-highlight">
         <del></del>
         <span id="span_Id">$80.40</span>
        </div>
        
        <button onclick="displayDate()">Click Me</button>
        
        <script>
        function displayDate() {
           var span_Text = document.getElementById("span_Id").innerText;
           alert (span_Text);
        }
        </script>
        </body>
        </html>