javascript:同时调用相同的函数?
我开发这个javascript代码已经有一段时间了,它只在单击按钮时运行一次函数 JAVASCRIPT: 当我在两个div上单击按钮时,每次单击都应该在主div上添加这两个div 预期产出:javascript:同时调用相同的函数?,javascript,html,Javascript,Html,我开发这个javascript代码已经有一段时间了,它只在单击按钮时运行一次函数 JAVASCRIPT: 当我在两个div上单击按钮时,每次单击都应该在主div上添加这两个div 预期产出: 假设代码正常工作,这很简单: function add(me) { var buttons = document.querySelectorAll('button.add'); var btn; for(var b = 0; b < buttons.length; b++)
假设代码正常工作,这很简单:
function add(me)
{
var buttons = document.querySelectorAll('button.add');
var btn;
for(var b = 0; b < buttons.length; b++)
{
btn = buttons[b];
if(me === btn) {
btn.a = btn.a || 1;
btn.a++;
addForButton(btn);
}
}
}
function rem(me)
{
var buttons = document.querySelectorAll('button.remove');
var btn;
for(var b = 0; b < buttons.length; b++)
{
btn = buttons[b];
if(me === btn) {
var divs = me.parentNode.querySelectorAll('div > div');
if(divs.length > 1){
divs[divs.length - 1].parentNode.removeChild(divs[divs.length - 1]);
btn.a--;
}
}
}
}
function addForButton(name) {
var parent = name.parentNode;
var content = parent.querySelector("div");
if (name.a <= 9)
{
var str = content.innerHTML;
str = str.replace(/_1/gi, '_' + name.a);
var divtest = document.createElement("div");
divtest.setAttribute("id", name.a);
divtest.innerHTML = str;
parent.appendChild(divtest);
}
}
函数添加(me)
{
var buttons=document.queryselectoral('button.add');
var-btn;
对于(var b=0;bdiv');
如果(divs.length>1){
divs[divs.length-1].parentNode.removeChild(divs[divs.length-1]);
顺便说一句--;
}
}
}
}
函数addForButton(名称){
var parent=name.parentNode;
var content=parent.querySelector(“div”);
如果(name.a在id
中只使用一个数字是非法的HTML。我删除了我的答案,因为此时我仍然不确定你在问什么…当我单击它不断添加的div上的每个按钮时。尝试运行我的脚本,它不会让我在每个main1和main2 div中添加9个diva
变量在这两个状态下都存在。总之,这意味着你可以只需单击9次。您需要为不同的项目保存2个状态clicks@Max如何在每个按钮上同时单击9次?是的,这就是我要找的。非常感谢。有没有办法删除按钮的add()函数?这是什么意思?removeonclick=“add(this);”
?我的意思是只有一个函数,所有函数都像我的OP@SpiderPig是的,我可以这样做作为参考。你可以用javascript向按钮添加onclick处理程序。比如:
<div id="main1">
<button onclick="add(this);return false;">+</button>
<div id="content1">
A
</div>
</div>
<div id="main2">
<button onclick="add(this);return false;">+</button>
<div id="content2">
B
</div>
</div>
+
A
A 2
A 3
A 4
A 5
A 6
A 7
A 8
A 9
A 10
+
B
+
A
A 2
A 3
A 4
A 5
A 6
A 7
A 8
A 9
A 10
+
B
B 2
B 3
B 4
B 5
B 6
B 7
B 8
B 9
B 10
function add(me)
{
var buttons = document.querySelectorAll('button.add');
var btn;
for(var b = 0; b < buttons.length; b++)
{
btn = buttons[b];
if(me === btn) {
btn.a = btn.a || 1;
btn.a++;
addForButton(btn);
}
}
}
function rem(me)
{
var buttons = document.querySelectorAll('button.remove');
var btn;
for(var b = 0; b < buttons.length; b++)
{
btn = buttons[b];
if(me === btn) {
var divs = me.parentNode.querySelectorAll('div > div');
if(divs.length > 1){
divs[divs.length - 1].parentNode.removeChild(divs[divs.length - 1]);
btn.a--;
}
}
}
}
function addForButton(name) {
var parent = name.parentNode;
var content = parent.querySelector("div");
if (name.a <= 9)
{
var str = content.innerHTML;
str = str.replace(/_1/gi, '_' + name.a);
var divtest = document.createElement("div");
divtest.setAttribute("id", name.a);
divtest.innerHTML = str;
parent.appendChild(divtest);
}
}
<button onclick="add();return false;">+</button>
<button onclick="add();return false;">+</button>