如何在按钮单击时设置第一个字母到upperCase

时间:2015-12-14 15:25:42

标签: javascript

当我点击按钮并且它出现在网页上时我想做第一个字母toUpperCase();但我不知道如何正确。我这样做了:

function toUpper() {
            arr.charAt(0).toUpperCase() + arr.slice(1);
 }

但这似乎不正确,请解释如何正确地做到这一点?

    <input type="text" id="inp">
    <button class="btn">Push to array</button>
    <button class="delete">Delete</button>
    <br><br>
    <div id="list"></div>

<script>

var inp = document.getElementById("inp");
var btn = document.querySelector(".btn");
var list = document.querySelector('#list');
var del = document.querySelector(".delete");
var arr = [];

btn.addEventListener('click', function() {
  var valInp = inp.value; 
  if (valInp === '') { return; }
  arr.push(valInp);
  inp.value = "";
  list.innerHTML = arr.join("<br>").trim();

    function toUpper() {
        arr.charAt(0).toUpperCase() + arr.slice(1);
    }
});

 del.addEventListener('click', function(){
    arr.pop();
    list.innerHTML = arr.join("<br>").trim();   
});

</script>

1 个答案:

答案 0 :(得分:4)

  1. 你需要在某个地方调用toUpper,目前你只需要在那个click事件处理程序中定义它。最好从该事件处理程序中定义它,因为它可以一次又一次地重复使用。

  2. 您应该希望toUpper函数接受string(因为它应该对string执行某些操作,但不应在arr上执行array {1}}),然后返回一个将第一个char转换为大写字符的新字符串。

  3. 将已转换的字符串推送到该数组,然后就完成了。

  4. &#13;
    &#13;
    var inp = document.getElementById("inp");
    var btn = document.querySelector(".btn");
    var list = document.querySelector('#list');
    var del = document.querySelector(".delete");
    var arr = [];
    
    // Move the function out, as it can be reused.
    // Input is a string, and you need to return the result of the toUppered string.
    function toUpper(str) {
        return str.charAt(0).toUpperCase() + str.slice(1);
    }
    
    btn.addEventListener('click', function() {
      var valInp = inp.value; 
      if (valInp === '') { return; }
      
      // Push the toUppered string into array.
      arr.push(toUpper(valInp));
      inp.value = "";
      list.innerHTML = arr.join("<br>").trim();
    });
    
     del.addEventListener('click', function(){
        arr.pop();
        list.innerHTML = arr.join("<br>").trim();   
    });
    &#13;
    <input type="text" id="inp">
        <button class="btn">Push to array</button>
        <button class="delete">Delete</button>
        <br><br>
        <div id="list"></div>
    &#13;
    &#13;
    &#13;