繁体   English   中英

从 html 获取 href 属性会产生不需要的结果

[英]Getting the href attribute from html gives unwanted results

我基本上是从网站上抓取一些内容,HTML 看起来像这样:

<div>
    <a class="title" href="/recipe/pasta">Pasta Recipe</a>
</div>

现在在从网站上刮下这个之后,我使用 js 来获取这样的 href 属性:

html.getElementsByTagName('a')[0].href

现在的问题是它返回: file:///A:/recipe/pasta但我想要的结果是/recipe/pasta 这是同一问题的 Stack Snippet 示例 - href导致域被前置,这是不可取的:

 console.log(document.getElementsByTagName('a')[0].href);
 <div> <a class="title" href="/recipe/pasta">Pasta Recipe</a> </div>

我可以通过基本的字符串操作来解决这个问题,但这似乎很初级。

还有file:///A:是我电脑上的驱动器A:驱动器。 如果我在另一台计算机上运行它,那么它将变成file:///C: ,代表C:驱动器。

知道我正在使用 nodeJS 在电子应用程序上执行此操作也可能有所帮助。

改用getAttribute来获取属性的普通值,而不是其他任何内容:

 const href = document.querySelector('a').getAttribute('href'); console.log(href);
 <div> <a class="title" href="/recipe/pasta">Pasta Recipe</a> </div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM