Use querySelector
over alternative DOM methods (#31280)
As per https://github.com/go-gitea/gitea/pull/30115#discussion_r1626060164, prefer `querySelector` by enabling [`unicorn/prefer-query-selector`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-query-selector.md) and autofixing all except 10 issues. According to [this](https://old.reddit.com/r/learnjavascript/comments/i0f5o8/performance_of_getelementbyid_vs_queryselector/), querySelector may be faster as well, so it's a win-win. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
parent
a2304cb163
commit
507fbf4c3c
47 changed files with 165 additions and 168 deletions
|
@ -9,19 +9,16 @@ function scrollToAnchor(encodedId) {
|
|||
if (!encodedId) return;
|
||||
const id = decodeURIComponent(encodedId);
|
||||
const prefixedId = addPrefix(id);
|
||||
let el = document.getElementById(prefixedId);
|
||||
let el = document.querySelector(`#${prefixedId}`);
|
||||
|
||||
// check for matching user-generated `a[name]`
|
||||
if (!el) {
|
||||
const nameAnchors = document.getElementsByName(prefixedId);
|
||||
if (nameAnchors.length) {
|
||||
el = nameAnchors[0];
|
||||
}
|
||||
el = document.querySelector(`a[name="${CSS.escape(prefixedId)}"]`);
|
||||
}
|
||||
|
||||
// compat for links with old 'user-content-' prefixed hashes
|
||||
if (!el && hasPrefix(id)) {
|
||||
return document.getElementById(id)?.scrollIntoView();
|
||||
return document.querySelector(`#${id}`)?.scrollIntoView();
|
||||
}
|
||||
|
||||
el?.scrollIntoView();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue