首页 > 解决方案 > hasAttribute, if 条件和点击事件

问题描述

我对编程很陌生,所以如果这似乎是一个我应该知道答案的简单问题,我深表歉意。

我基本上想听听用户对特定 div(文章标题)的点击,并检查该类是否具有属性(值 = 1)。- 我实际上将代码中其他地方的 div 的值设置为 0,以查看这是否有效,我希望它在控制台中记录“nope”以确保代码看到有关值的值的 if 语句。

非常感谢你的帮助!

document.getElementsByClassName('article-title')[I]
.addEventListener('click', function (event) {
   if(articleSource.hasAttribute("value"),("1");
   console.log("nope");

});

标签: javascriptattributesclicklistener

解决方案


有一些语法错误

1) 索引 [I] 没有任何意义。您可能已经注意到,.getElementsByClassName它返回元素的 HTMLCollection(= 一个数组,一个列表)。因此,如果您确定只有一个元素,则必须采用索引 [0] article-title。但实际上我建议你使用.querySelector('.article-title'),它将返回 1 个元素。

2)在If语句中,您必须与===(或至少==)进行比较 其次,hasAttribute 不返回值,而是返回存在。所以你必须 if(articleSource.getAttribute('value') === '1')...

3) 是什么articleSource?你能告诉我们你是如何初始化它的吗?你确定这是一个 HTMLElement 吗?


推荐阅读