【发布时间】:2017-02-03 03:14:57
【问题描述】:
如何仅在单击的按钮上切换减号/加号? 我怎样才能使它可点击(现在不行)...
JAVASCRIPT
$(".dropbtn").append('<span class="adl-signs">+</span>');
function ctaDropMenu(e) {
e.target.nextElementSibling.classList.toggle("show");
}
function toggleSigns() {
$(".adl-signs").html(function(_, html) {
return $.trim(html) == '+' ? '-' : '+';
});
}
$(".dropbtn").click( function(e) {
ctaDropMenu(e)
toggleSigns()
});
// Close the dropdown if the user clicks outside of it
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
【问题讨论】:
-
您对 2 个按钮使用相同的 ID,为每个按钮分配一个唯一的 ID。然后,将按钮的引用作为参数传递给toggleSign,只修改传递的那个。
-
我无法添加不同的 ID... 这与我将用于按钮的代码相同(部分)。谢谢! :)
-
那么这不是一个有效的 HTML,不同的元素必须有不同的 id。您应该为此使用一个类。
-
如果您无法添加不同的 ID,那么您将无法使其按预期工作。很简单。
标签: javascript targeting