【发布时间】:2021-07-14 16:34:45
【问题描述】:
我正在尝试使用$('.yuRUbf a')[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个文件。
【问题讨论】:
-
您尝试过什么来解决问题?这和 PHP 有什么关系?
-
然后多次打印第一页的链接 - 因为您将脚本包含在
pageNumphp 函数中,然后将其称为“多次”。如果您只想调用一次,请将其从pageNum中取出。 -
我不想调用一次,换个方式解释一下:我有5个html页面,每个html页面包含10个链接,我想要每个html页面的第一个链接。跨度>
-
感谢您的澄清(和编辑)。是否有任何东西可以分隔/区分每个
include $pageNum.".html"页面?我假设不是<html>或<body>,因为它们应该只出现一次,但你的每个1.html/2.html可能在顶部有<div class='yuRUbf'>- 如果是这样的话(或者如果你可以编辑它所以它或类似的情况)那么你可以使用$(".yuRUbf").map((i,e)=>$(e).find("a")[0].href).get() -
您可以(但我不建议将其作为可行的解决方案)将现有代码更改为
const el = $('.yuRUbf:last a')[0].href;没有doc.ready- 使其内联运行。然后,代码在解析文档时一出现就运行,:last将是刚刚呈现/包含的“当前”页面。但这是一种运行 javascript 的糟糕方式。
标签: php jquery function select