javascript - 如果javascript中的href为空,如何禁用锚标记
问题描述
我有n个锚标签,如果任何锚标签href是“未定义”,那么删除那个特定的a标签href属性..
我尝试了if方法,但它删除了所有锚标记 href。
(function () {
if ((readMore.href = "undefined")) {
readMore.removeAttribute("href");
}
})();
解决方案
如果要检查 href 属性是否具有字符串 "undefined" 的值,请使用==
or===
作为@Nick Parsons的建议。但也可能是浏览器在干扰,因为如果您尝试使用 Chrome 中的开发人员工具并将 href 属性更改为字符串“未定义”,您实际上会得到"https://stackoverflow.com/undefined"
完全不同的字符串。
其中 $0 指的是第一个屏幕截图中的元素。
如果您想检查 href 属性是否具有虚假值,例如 undefined、null 或空字符串,您可以编写类似if (!readMore.href)
.
您提供的代码只会将字符串“未定义”分配给 href 属性,该属性在放入 if 语句时实际评估为 true ,这就是所有项目都发生这种情况的原因。
推荐阅读
- django - 在 Django 中实现具有许多重叠字段的模型的最佳方法?
- c# - 如何向 CompareTo 方法添加另一个参数?
- playframework - 使用 H2 玩 Slick(2.6.x):找不到表
- r - 将函数应用于变量引用而不是 R 中的副本
- python - Altair 中的交互式绘图选择不会突出显示点
- firebase - Firebase 动态链接
.page.link 不启动应用程序 - firebase - 如何使用嵌套的 get() 调用创建 Firestore 安全规则?
- scala - Scala 等价于 Kotlins groupingBy
- python - Django Admin 静态文件不再工作:“您是否忘记注册或加载此标签?”
- node.js - 关于node/JS请求包请求结束的问题