在div中显示Javascript“return”值

时间:2015-08-14 20:13:09

标签: javascript arrays

我有e164.js库中的以下脚本。 通常来自chrome调试器,我将使用e164.lookup('44123486789);我会得到价值:Object {Country: "United Kingdom", Code: "UK"}

如何从html div中读取电话号码并在另一个html div中显示返回的结果? 例如说

<div id="phone">44123486789</div>

并将结果写入:

<div id="country"></div>

谢谢你们。

这是脚本:

    (function() {
var lookup, prefixes = {
  "1201": [ "US", "United States" ],
  "1202": [ "US", "United States" ],
  "1203": [ "US", "United States" ],
  "1204": [ "CA", "Canada" ],
   "44": [ "GB", "United Kingdom" ],
};
lookup = function(phone) {
  if (phone.length) {
    var prefix, c = phone.length;
    for (c; c >= 0; c=c-1) {
      prefix = phone.substring(0, c);
      if (prefixes[prefix]) {
        return { country: prefixes[prefix][1], code: prefixes[prefix][0] };
      }
    }
  }
};
if (typeof exports !== "undefined"){
  exports.lookup = lookup;
}
if (typeof window !== "undefined"){
  window.e164 = { lookup : lookup};
}
})();

1 个答案:

答案 0 :(得分:0)

var phone = document.getElementById('phone').innerHTML;
var country = lookup(phone).country;
document.getElementById('country').innerHTML = country;

它需要进入那里的匿名函数(因为函数查找是在该外部函数的范围内定义的)。并且在存在这两个div(和电话号码)之后需要运行外部匿名函数 - 您应该等待窗口上的加载事件。