#javascript #html #jquery #django #ajax
Вопрос:
Не могли бы вы, пожалуйста, помочь мне? У меня есть четыре ниже объявленные переменные внутри тега сценария ( на html-странице. Они в основном генерируются фолием в python.Я хотел бы выбрать последний из другого файла js без успеха. Я попробовал это
window.onload = function() {
for (var name in this){
if(Object.keys({name})[0].includes("layer"){
alert (name)
}
}
};
Вот объявленные переменные внутри тега сценария на html-странице
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,
},
};
Комментарии:
1. Похоже, ты слишком глубоко погружаешься в свои поиски. Имя будет layer_control_… так что вам нужно только
if (name.includes("layer")
, чтобы я использовалname.match(/layer_control_[a-fd] /)
для более точного выбора.2. Спасибо, это работает. Я получаю строковый тип. Как я могу получить значение ключа наложения?
3. Все глобальные переменные хранятся в окне.
window[name]
или внутри вашей функцииthis[name]
Ответ №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])
}
}
}
};
Комментарии:
1. Спасибо, я пробовал это раньше, но у меня ничего не вышло
2. но это работает, попробуйте фрагмент. загружаются ли эти переменные после window.onload?
3. Пожалуйста, помогите мне! Как я могу получить значение словаря?
4. Я обновил свой ответ, пожалуйста, посмотрите. это то, чего ты хочешь?
5. Спасибо, это дает мне много вещей, кроме словарных значений, связанных с ключами: «Дороги» и «Перекрестки».