社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Jquery

使用jquery从表行请求文本返回“”

Wael Dghim • 3 年前 • 1241 次点击  

大约一周前,我开始使用jQuery,我想从现有的表中进行搜索。

打电话的时候 text() 从它显示的任何行和空字符串 '' 使得无法将搜索的字符串与表中现有的字符串进行比较。

例如,下面的代码返回 '' .我怎样才能解决这个问题?

$(document).ready(() => {
  $('#test tr').filter(() => {
    console.log($(this).text());
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<table>
  <tbody id="test">
    <tr>
      <td>example</td>
      <td>1</td>
    </tr>
    <tr>
      <td>example</td>
      <td>2</td>
    </tr>
    <tr>
      <td>example</td>
      <td>3</td>
    </tr>
    <tr>
      <td>example</td>
      <td>4</td>
    </tr>
  </tbody>
</table>
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130114
 
1241 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Rory McCrossan
Reply   •   1 楼
Rory McCrossan    3 年前

你的代码中有两个问题。首先,你使用了箭头函数 this 关键字将指向外部上下文,而不是 tr 迭代中的元素。要修复此问题,请使用匿名函数,或接收 tr 作为arrow函数的参数。我在下面的例子中做了后者。

第二个问题是你正在使用 filter() 作为迭代器,这是不正确的。 过滤器() 应用于减少jQuery对象中的一组元素。在这种情况下,如果要循环,只需使用 each() 相反

jQuery($ => {
  $('#test tr').each((i, tr) => {
    console.log($(tr).text().trim());
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<table>
  <tbody id="test">
    <tr>
      <td>example</td>
      <td>1</td>
    </tr>
    <tr>
      <td>example</td>
      <td>2</td>
    </tr>
    <tr>
      <td>example</td>
      <td>3</td>
    </tr>
    <tr>
      <td>example</td>
      <td>4</td>
    </tr>
  </tbody>
</table>