【问题标题】:Convert a number into a name将数字转换为名称
【发布时间】:2015-02-21 14:07:39
【问题描述】:

例如,我的页面上某处有<span id="convertNumberToName">1</span>
注意“1”,每当“1”在以“convert”为id的跨度标签内时,我想将“1”转换为“John”。

我还希望将“2”转换为“Pete”。而“3”将被转换为“Bob”。

所以如果我的 html 是:

<span id="convertNumberToName">1</span>
<span id="convertNumberToName">2</span>
<span id="convertNumberToName">3</span>


我的页面内容如下:

John
Pete
Bob

有人知道怎么做吗?

【问题讨论】:

    标签: javascript html numbers converter names


    【解决方案1】:

    这会将数字转换为您选择的名称。

    <script type="text/javascript">
    window.onload = function() {
    
        var e = document.getElementsByTagName('span');
    
        for (var i = 0, l = e.length; i < l; i++) {
            if (typeof e[i].className !== 'undefined' && e[i].className === 'convertNumberToName') {
                e[i].innerHTML = convertToName(e[i].innerHTML);
            }
        }
    
        function convertToName(n) {
            var names = ['John', 'Pete', 'Bob'],
                n = parseInt(n, 10) - 1;
    
            if (names[n]) {
                return names[n];
            }
    
            return 'Unknown';
        }
    
    };  
    </script>
    


    <span class="convertNumberToName">1</span><br />
    <span class="convertNumberToName">2</span><br />
    <span class="convertNumberToName">3</span>
    

    【讨论】:

      【解决方案2】:

      更短的方法来做到这一点>

      <script>
      var names = ['John', 'Pete', 'Bob'];
      var div = document.getElementById('convertNumberToName');
      div.innerHTML = names[div.innerHTML];
      </script>
      

      【讨论】:

      • 你应该改成 div.innerHTML = names[div.innerHTML - 1];
      猜你喜欢
      • 2012-01-01
      • 2012-08-07
      • 2018-03-06
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-06
      • 1970-01-01
      相关资源
      最近更新 更多