这是我编写的一个简单Bookmarker App的一段代码。我对这里的某些东西感到困惑。
查看代码的第三行。难道不是应该==
有=
之后classname
吗?
因为=
是一个赋值运算符。我需要的是true
这==
还是===
应该给它的确是从做console.log
。
但是,当我===
在if
语句中使用该函数时,它将不再起作用。但这与=
对我没有任何意义的一起使用。如果有人可以弄清楚这里出了什么问题,那就太好了。
如果有人想检查完整的代码,包括HTML和CSS,请访问:https : //github.com/magnetickode/Bookmarking-App
document.querySelector('.bookmarks').addEventListener('click', deleteBookmark);
function deleteBookmark(e) {
if (e.target.className = 'delete') {
e.target.parentNode.parentNode.removeChild(e.target.parentNode);
console.log(e.target.className === 'delete');
//console.log(e.target.parentNode.getElementsByTagName('p')[0].textContent);
for (let i = 0; i < bookmarks.length; i++) {
if (bookmarks[i].name === e.target.parentNode.getElementsByTagName('p')[0].textContent) {
bookmarks.splice(i, 1);
break;
}
}
}
}
改变这个:
if (e.target.className = 'delete') {
至
if (e.target.classList.contains('delete')) {
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句