javascript - 如果页面上存在链接,则在单击时添加类,javascript
问题描述
首先,我检查页面上是否存在带有价格类链接的按钮,然后我需要在点击时打开模式块。对于一个按钮它有效,但对于第二个按钮无效。你能帮忙看看缺少什么吗?
HTML:
<a class="prices__link" href="">Show more</a>
<br>
<a class="prices__link" href="">Button 2</a>
<div class="popup-business popup-business--hide">Modal</div>
JavaScript:
var popupPrices = document.querySelector('.popup-business');
var buttonPopupPricesOpen = document.querySelectorAll('.prices__link');
var buttonPopupPricesItem = document.querySelector('.prices__link');
if (buttonPopupPricesOpen.length !== 1) {
buttonPopupPricesItem.addEventListener('click', function(evt) {
evt.preventDefault();
popupPrices.classList.toggle('popup-business--hide');
});
}
谢谢
解决方案
也许你正在寻找的 javascript 是这样的:
const popupPrices = document.querySelector('.popup-business');
const buttonPopupPricesOpen = document.querySelectorAll('.prices__link');
// for each element with the class found, add an event
buttonPopupPricesOpen.forEach((buttonElem) => {
buttonElem.addEventListener('click', function(evt) {
evt.preventDefault();
popupPrices.classList.toggle('popup-business--hide');
});
});
推荐阅读
- tensorflow - tf.nn.bidirectional_dynamic_rnn returns single value in Tensorflow
- dataframe - how can I filter dataset to a new dataset by map?
- omnet++ - Visualize Traffic Light in OMNeT++
- c++ - cmake,无法运行与预编译共享库链接的可执行文件
- java - 这是整数 java.lang.Integer##0V@AQKgaAo 的表示形式是什么
- javascript - 使用 123 和 321 之类的 javascript 将字符串替换为 abc 和 cba
- javascript - 在 Javascript 中使用 AES 加密 ByteArray
- sql - 如果 WHERE 子句不匹配,则返回 NULL - ORACLE
- python-2.7 - 如何在 python 中使用服务帐户对 Google App Engine 进行身份验证?
- c - C 编程语言中的 putch() 和 putchar() 有什么区别?