使用“?”时滚动到 id 元素在 url、vue.js

scroll to id element when using "?" in url, vue.js

我有这个 url http://localhost:8080/?london,它需要加载到页面上 <section id="london">. 中的伦敦 ID。 我不能使用 http://localhost:8080/#london,尽管它可以工作!

为了让事情变得更复杂,我正在使用 vue 框架,他们想要 master-origin/src/assets/js/mixins/Anchor.js 中的代码 - 因此我无法安装 jquery,必须是 vanilla js。

我试过了

var el = [];
el = window.location.href.split("/?")[1];
console.log("el: " + el);
el.scrollIntoView();

它在 /? 之后获取值,但是当我尝试滚动到视图时,我在控制台中收到此消息

TypeError: el.scrollIntoView is not a function at VM10022 IE work:4

为什么?我正在关注 w3 学校指南 https://www.w3schools.com/jsref/met_element_scrollintoview.asp

您尝试在字符串上调用 .scrollIntoView()

试试这个:document.getElementById(el).scrollIntoView();

非常适合我

const el = document.getElementById('item');
      el.scrollIntoView({behavior: "smooth"});