在页面上添加和订购元素

时间:2017-01-19 17:14:08

标签: javascript html

我想在网页上有一堆不同的按钮。在按钮切换(因此按下按钮并单击并在第二次单击时释放)时,将在文本变量中添加/删除文本。

例如,会有一个(在开头)空文本和按钮1,2,3,4

按下按钮1后,文字应该说1.然后,按3和2后,应该说132.然后,按1(再次)和4后,应该说324。

现在,我有这个(它只是为字符串添加数字),但是如何切换同一字符串中所有按钮的数字?

<p id="textfield"></p>

<button onclick="myFunction('1')">1</button>
<button onclick="myFunction('2')">2</button>
<button onclick="myFunction('3')">3</button>
<button onclick="myFunction('4')">4</button>

<script>
function myFunction(nr) {
    document.getElementById("textfield").innerHTML += nr;
}
</script>

2 个答案:

答案 0 :(得分:1)

以下代码应该为您解决问题。

<script>
function myFunction(nr) {
   var str = document.getElementById("textfield").innerHTML;
   if(str.indexOf(nr) >=0)
   str = str.replace(nr,"");
   else
   str += nr;

    document.getElementById("textfield").innerHTML = str;
}
</script>

请查看 Fiddle with working example

答案 1 :(得分:1)

 var nums=[];  
 function myFunction(nr)
  var pos=nums.findIndex(el=>el==nr);
  if(pos>-1)(
   //exist so remove
    nums.splice(pos,1);
  }else{
   //append at the end
    nums.push(nr);
  }
  //add to html:
  document.getElementById("textfield").innerHTML=nums.join("");
  }