没有jQuery,这种方法相当于什么?
$(function() {
$.getJSON("datas.json", function(e) {
var t = [];
$.each(e, function(e, t) {
$("div#" + e).text(t)
})
})
})
感谢。
答案 0 :(得分:10)
使用普通的javascript,你的代码看起来像这样:
function createElements(elements) {
// Assuming you get an array of objects.
elements = JSON.parse(elements);
elements.forEach(funciton (element) {
var div = document.getElementById(element.id);
div.innerHTML = element.text;
});
}
var request = new XMLHttpRequest();
request.onload = createElements;
request.open("get", "datas.json", true);
request.send();
或者您可以使用其他酷库,例如superagent,然后您的代码将如下所示:
var request = require('superagent');
function createElements(elements) {
// Assuming you get an array of objects.
elements = JSON.parse(elements);
elements.forEach(funciton (element) {
var div = document.getElementById(element.id);
div.innerHTML = element.text;
});
}
request.get('datas.json').end(function(error, elements){
if (!error) {
createElements(elements);
}
});
答案 1 :(得分:3)
您发布的代码有几个部分。
$(function(){
....
});
这是jQuery相当于window.onload = function(){..}
$.getJSON("datas.json", function(e) {
..
});
这是jQuery的ajax get请求,看看XMLHttpRequest
$.each(e, function(e, t) {
..
});
这只是对e
中元素的预测。根据您的ajax调用返回的内容,您可能需要for
循环或for...in
循环。
$("div#" + e).text(t)
这会设置元素的文本,可能可以用.innerHTML
替换。