当前位置: 首页 > 知识库问答 >
问题:

为每个文件执行jQuery脚本,然后打印结果,但要多次获得第一个结果

长孙哲
2023-03-14

我正在尝试使用$('.yurubfa')[0].href;获取每个页面的第一个链接,但是,这个代码获取所有页面的数据,然后多次打印第一个页面的链接。

我做错了什么?

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<?php 

function pageNum($pageNum) {

  include $pageNum.".html";

?>
    <script> 
    $(document).ready(function(){
      const el = $('.yuRUbf a')[0].href;
      console.log(el);
    });
    </script>
<?php 

}


pageNum("1");
pageNum("2");

 ?>

编辑:

让我用另一种方式解释:我有5个html页面,每个html页面包括10个链接,我想要每个html页面的第一个链接。

所以我使用jQuery脚本提取href属性值,它是链接,但是,它不是提取每个页面的第一个链接,而是提取第一个页面的第一个链接5次,因为我有5个文件。

共有1个答案

督灿
2023-03-14

鉴于现有代码返回所有页面的链接,我将假设每个“页面”包含类似于

<div class='yuRUbf'>
...
<div>

在这种情况下,您可以在结束时使用一个调用(即不在pageNum循环内)将所有第一个链接整理成一个数组

var links = $(".yuRUbf").map((i,e) => $(e).find("a")[0].href).toArray()

(如果您将此传递给其他对象,例如links.addClass(“active”),则不要使用.toArray())

如果您更喜欢/需要一个循环而不是一个数组,这相当于:

$(".yuRUbf").each(function(i, e) {
  var el = $(this).find("a")[0].href;
  console.log(el);
});

示例:

null

$(function() {
    const first_links = $(".yuRUbf").map((i,e)=>$(e).find("a")[0].href).get();
    console.log(first_links)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='yuRUbf'>
  <div>
    <a href='l1'>l1</a>
  </div>
  <a href='l2'>l2></a>
  <a href='l2'>l2</a>
</div>
<div class='yuRUbf'>
  <div>
    <a href='l12'>l12</a>
  </div>
  <a href='l22'>l22></a>
  <a href='l22'>l22</a>
</div>
 类似资料:
  • 当Callable返回与条件匹配的结果时,是否有一种方法可以停止Javas ExecuterService? 我有以下算法(代码A): 平均而言,functionB的运行速度是functionA的5倍(在8个内核上)。 这很好,但不完美。在functionA中,someFunction()在找到结果!=null之前平均被调用大约20次。在functionB中,someFunction()总是被调用

  • #include <stdio.h> #include <pthread.h> typedef struct { int a; int b; int c; int d; pthread_mutex_t mutex; }ex_st; int main(void) { ex_st st = {1, 2,

  • 我正在使用Pycharm并试图将文本打印到控制台 最终打印命令('

  • 问题内容: 当我从命令行调用存储的proc时,我得到以下信息。 这是我的Java代码的片段 当我执行该语句时,仅返回event_table结果。我阅读以下查询: 我试图避免对数据库发出多个请求,因为它非常慢(300毫秒,具体取决于多少结果) 可能吗? 问题答案: 我找到了这篇很棒的文章。http://www.herongyang.com/JDBC/MySQL-CallableStatement-M

  • 我是cython的新手(现在只用于做一点hw)。我使用下面的代码在jupyter笔记本中查看它的总体思路。 但是,它只打印一次结果45。当我运行打印功能时,单元格不会显示45个人。 代码有问题吗?如何使单元格打印出的45与普通python代码完全相同?谢谢

  • 问题内容: 根据该文件对中,它说: 以ResultSet对象的形式检索当前结果。每个结果仅应调用此方法一次。 使用一些测试代码,我运行并多次调用,并观察到返回的对象指向同一个对象。因此,我猜测它不会返回您需要单独关闭的其他内容。但是,当然这对于我的JDBC驱动程序可能是唯一的。 纵观文档的,它说: 默认的ResultSet对象是不可更新的,并且具有仅向前移动的光标。因此,您只能迭代一次,并且只能从