获取其他elements Javascript中的元素

Getting elements inside other Elements Javascript

本文关键字:元素 Javascript 其他 elements 获取      更新时间:2023-09-26

我知道以前有人问过这个问题,但不是这样。。。我有这个HTML。

 <table class="fr ralign cartSummaryTable">
  <tr>
    <td width="320px">
      <div class="tr">
        Subtotal (5 items):
      </div>
    </td>
    <td>
      <div class="nowrap tr normal">$684.23
      </div>
    </td>
  </tr>
  <tr>
    <td width="320px">
      <div class="tr">
        <span> Shipping to <a id="guestZipLink" href="javascript:;">19802-4358                              </a>
</span></div>
    </td>
    <td>
      <div class="tr nowrap normal">$4.49
      </div>
    </td>

我想要第二个价格4.49美元。

我的代码是:

price= $('#cartSummaryTable tr:eq(1) td:eq(1) td:eq(1) .tr:eq(1)').textContent;
console.log("My price is" + price);

然而,我的结果是没有定义的。我做错了什么,正确的做法是什么?

$('#cartSummaryTable tr:eq(1) td:eq(1)')将返回jQuery对象,因此textContent无法使用,您使用.text()

$('.cartSummaryTable tr:eq(1) td:eq(1) .tr').text();

或者,通过使用get(0)[0]获得底层DOM元素,则可以使用textContent

$('.cartSummaryTable tr:eq(1) td:eq(1) .tr')[0].textContent;

console.log($('.cartSummaryTable tr:eq(1) td:eq(1) .tr').text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="fr ralign cartSummaryTable">
  <tr>
    <td width="320px">
      <div class="tr">
        Subtotal (5 items):
      </div>
    </td>
    <td>
      <div class="nowrap tr normal">$684.23
      </div>
    </td>
  </tr>
  <tr>
    <td width="320px">
      <div class="tr">
        <span> Shipping to <a id="guestZipLink" href="javascript:;">19802-4358                              </a>
</span></div>
    </td>
    <td>
      <div class="tr nowrap normal">$4.49
      </div>
    </td>
    </table>

要获取该单元格内的文本(即4.49美元(:

var price = $("table.cartSummaryTable tr:eq(1) td:eq(1) div").text();

要将价格作为一个数字,这样你就可以对它进行数字计算:

var price_as_float = parseFloat($("table.cartSummaryTable tr:eq(1) td:eq(1) div").text().substring(1));

jQuery()返回一个jQuery对象,而不是一个普通的DOM节点引用,因此不能对其调用textContent,但可以使用jQuery函数text()

如果确实要使用textContent,可以使用get(0)[0],但它们并不完全等同于text()