【问题标题】:How to select a declared variable from a script tag with JavaScript如何使用 JavaScript 从脚本标签中选择声明的变量
【发布时间】:2021-09-02 11:06:45
【问题描述】:

你能帮帮我吗? 我在脚本标签内有以下四个声明的变量(在html页面中。它们是由python中的folium随机生成的。我想从另一个js文件中选择最后一个但没有成功。我试过了

window.onload = function() {
    for (var  name in this){
      if(Object.keys({name})[0].includes("layer"){
          alert (name)
      }
    }

};

这里是html页面中script标签内声明的变量

var circle_f3a483b3a7ba46748ac935d3995f4f6b = L.circle(
            [-16.0, 0.0]
        ).addTo(feature_group_1c28eff59e394734be54cf676a09eae1);
    

var circle_a01d1791063145b18b439bd7687bc97f = L.circle(
            [-11.3137, 11.3137],
        ).addTo(feature_group_1c28eff59e394734be54cf676a09eae1);
    

var layer_control_aec3ac6e0e424b74a19b4c9d1c78ffeb = {
            base_layers : {
            },
            overlays :  {
                "Roads" : geo_json_cae0ea33c63e4c438678d293e5c32c0d,
                "Intersections" : feature_group_1c28eff59e394734be54cf676a09eae1,
            },
        };

【问题讨论】:

  • 您的搜索似乎太深了。名称将是 layer_control_... 所以你只需要 if (name.includes("layer") 我会使用 name.match(/layer_control_[a-f\d]+/) 进行更精确的选择。
  • 谢谢,它有效。我得到一个字符串类型。如何获取叠加层键值?
  • 所有全局变量都存储在窗口中。 window[name] 或在你的函数内部 this[name]

标签: javascript html jquery django ajax


【解决方案1】:
if (name.includes("layer")) {

会成功的。

var circle_f3a483b3a7ba46748ac935d3995f4f6b = {
  foo: "bar"
};
var circle_a01d1791063145b18b439bd7687bc97f = {
  foo: "bar"
};
var layer_control_aec3ac6e0e424b74a19b4c9d1c78ffeb = {
  foo: "bar"
};

window.onload = function() {
  for (var name in this) {
    if (name.includes("layer")) {
      console.log(name , "=" , this[name])
      for(let key in this[name]) {
        console.log('key', key, 'value', this[name][key])
        
      }
    }
  }

};

【讨论】:

  • 谢谢,我之前试过了,但是没用
  • 但它确实有效,请尝试 sn-p。这些变量是在 window.onload 之后加载的吗?
  • 请帮帮我!如何获取字典值?
  • 我更新了我的答案,请看。这是你想要的吗?
  • 谢谢,它给了我很多东西,除了与键关联的字典值:“Roads”和“Intersections”
猜你喜欢
  • 1970-01-01
  • 2019-01-17
  • 2014-07-16
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
  • 2021-11-04
  • 2019-01-13
相关资源
最近更新 更多