当使用 href="#" 时,"#" 的含义是什么?

3

我一直在跟随这个教程学习如何使用Scrapy。我正在使用greenbook作为我的样本网站来测试网页抓取。其中一个函数:SgmlLinkExtractor接受一个参数,即“下一页”按钮的href。问题是对于greenbook,如果你通过firefox检查元素,则“下一页”按钮的href是“#”。

以下是我的问题:

1)当以这种方式使用时,“#”是什么意思:href =“#”?

2)我该如何解决这个问题?

谢谢

2个回答

2
你可以使用#来指向页面上的ID,而不是重定向到一个URL
当你看到像“点击这里滚动到页面底部”这样的东西时, 这里的超链接将会是#bottomOfPage http://jsfiddle.net/2q3NJ/

在我的情况下,它只是href="#",而不是href="bottomOfPage"。 - user2284926

1
属性href="#"的含义与href=""相同,即指向当前文档的开头。然而,它很少用于意图链接到开头的情况。相反,它被用作占位符,使a元素正式成为链接,并且从样式角度来看也是一个链接,但在期望元素具有onclick事件处理程序或其href值被覆盖的上下文中使用。
参见Is an empty href valid?Which "href" value should I use for JavaScript links, "#" or "javascript:void(0)"? 在您的情况下,听起来您正在使用的软件生成的下一页“链接”不是真正的链接,而是由JavaScript驱动并带有href="#"作为占位符。这在其他期望href属性为真实链接的软件中无法正常工作。是否以及如何使它们共同工作取决于两个软件。

当href="#"时,他们如何将我带到另一个页面? - user2284926
使用JavaScript,如我的回答所述。 - Jukka K. Korpela
我猜这个链接和你的解释完全一样:https://dev59.com/YHVC5IYBdhLWcg3w9GLM?rq=1,它解释了一切。我的猜测是他们正在使用jQuery函数来实现下一页。 - user2284926

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接