首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按索引获取特定元素的文本

按索引获取特定元素的文本
EN

Stack Overflow用户
提问于 2018-07-10 10:38:54
回答 3查看 51关注 0票数 1

我想得到第二行到最后一行的文本,所以我尝试这样做:

代码语言:javascript
运行
复制
var tradeNumEl = $("td.trade-num").length - 2;
console.log($("td.trade-num")[tradeNumEl].text())
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td class="trade-num">100</td>
  </tr>
  <tr>
    <td class="trade-num">101</td>
  </tr>
  <tr>
    <td class="trade-num">102</td>
  </tr>
  <tr>
    <td class="trade-num">103</td>
  </tr>
  <tr>
    <td class="trade-num">104</td>
  </tr>
  <tr>
    <td class="trade-num">105</td>
  </tr>
</table>

然而,它给了我:

Uncaught:$(.)tradeNumEl.text不是函数

我怎么才能解决这个问题?这是小提琴:https://jsfiddle.net/45a9sc6k/4/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-10 10:40:57

按索引访问jQuery对象将返回集合的该索引处的元素对象。它不返回jQuery对象-因此您的错误。要解决这个问题,请使用eq()

代码语言:javascript
运行
复制
console.log($("td.trade-num").eq(tradeNumEl).text());

代码语言:javascript
运行
复制
var tradeNumEl = $("td.trade-num").length - 2;
console.log($("td.trade-num").eq(tradeNumEl).text());
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td class="trade-num">100</td>
  </tr>
  <tr>
    <td class="trade-num">101</td>
  </tr>
  <tr>
    <td class="trade-num">102</td>
  </tr>
  <tr>
    <td class="trade-num">103</td>
  </tr>
  <tr>
    <td class="trade-num">104</td>
  </tr>
  <tr>
    <td class="trade-num">105</td>
  </tr>
</table>

票数 2
EN

Stack Overflow用户

发布于 2018-07-10 10:42:13

您必须使用索引no作为参数的eq().eq(index)将匹配元素的集合缩减为指定索引处的元素集。

代码语言:javascript
运行
复制
var tradeNumEl = $("td.trade-num").length - 2;
console.log($("td.trade-num").eq(tradeNumEl).text() )
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
  <td class="trade-num">100</td>
</tr>
<tr>
  <td class="trade-num">101</td>
</tr>
<tr>
  <td class="trade-num">102</td>
</tr>
<tr>
  <td class="trade-num">103</td>
</tr>
<tr>
  <td class="trade-num">104</td>
</tr>
<tr>
  <td class="trade-num">105</td>
</tr>
</table>

票数 0
EN

Stack Overflow用户

发布于 2018-07-10 10:43:34

还可以创建查找元素的对象。

代码语言:javascript
运行
复制
///I want to get the text of the second to last table row using js and jquery. So I tried to do this:

var tradeNumEl = $("td.trade-num").length - 2;
console.log($($("td.trade-num")[tradeNumEl]).text(), tradeNumEl)
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
  <td class="trade-num">100</td>
</tr>
<tr>
  <td class="trade-num">101</td>
</tr>
<tr>
  <td class="trade-num">102</td>
</tr>
<tr>
  <td class="trade-num">103</td>
</tr>
<tr>
  <td class="trade-num">104</td>
</tr>
<tr>
  <td class="trade-num">105</td>
</tr>
</table>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51263114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档