检查是否有锚

Check for an anchor

本文关键字:是否 检查      更新时间:2023-09-26

我想检查当前页面是否有锚

所以我用这个

var qs = window.location.hash;

然后检查qs是否不是空字符串

if (qs !== '') {

这样做正确吗?它似乎有效,但读到JavaScript检查null/undefined/empty字符串的各种方法时,我感到困惑。

  • window.location.hash仅包含内部页面链接/锚(那些跟随哈希(#)符号的链接/锚)
  • window.location.search包含前缀为?的查询字符串

使用条件语句(if语句)是可以的。如果属性未填充,则它将是一个空白字符串。

是的,除了我会选择document.location.hash之外,这是一种正确合理的检查方式。

您可以直接查看if (!qs) { }。通过使用!,可以覆盖所有可能的伪值。

我建议:

var qs = window.location.hash;
if (typeof(qs) == 'string' && qs != '' && qs != '#')

请注意,正确使用的是window.location,因为这是标准。document.location没有标准化。window.标准中的位置。