Javascript 从网页获取数据的更好方法,而不是处理DOM和HTML元素
我正在使用主干网,在我使用Jquery之前,在我使用HTML元素属性作为变量来设置数据之前,以及当我需要在HTML元素中可以访问的信息时 例如:我有一个图像库,正如你所知,每个图像都应该有一个标题,Alt,src这些最初来自HTML,但我添加了一个新属性,称为mk author,mk是一个前缀,当用户单击该图像时,图像最大化,图像旁边将显示作者姓名。有时我会获取ID并在服务器端执行一些操作,当然,我会从服务器端验证它 问题: 这是一种安全的好方法吗Javascript 从网页获取数据的更好方法,而不是处理DOM和HTML元素,javascript,jquery,html,backbone.js,Javascript,Jquery,Html,Backbone.js,我正在使用主干网,在我使用Jquery之前,在我使用HTML元素属性作为变量来设置数据之前,以及当我需要在HTML元素中可以访问的信息时 例如:我有一个图像库,正如你所知,每个图像都应该有一个标题,Alt,src这些最初来自HTML,但我添加了一个新属性,称为mk author,mk是一个前缀,当用户单击该图像时,图像最大化,图像旁边将显示作者姓名。有时我会获取ID并在服务器端执行一些操作,当然,我会从服务器端验证它 问题: 这是一种安全的好方法吗 2-更好的方法是什么?首先,添加您自己的属性会
2-更好的方法是什么?首先,添加您自己的属性会给您带来一些不完全是HTML的东西;它可能工作得很好,但你最好还是坚持标准(为了将来的打样、便携性等)。而且,当标准提供了所有人都能理解的内容时,就不需要它们了,jQuery甚至通过 对于您的图像库示例,更惯用的主干方法包括:
var Image = Backbone.Model.extend({
//...
});
此模型的实例将保存图像的URL、大小、名称、作者等var Images = Backbone.Collection.extend({
model: Image,
//...
});
图像
模型提供交互和显示:
var ImageView = Backbone.View.extend({
events: {
'click': 'show_details',
},
render: function() {
// Build the HTML for `this.model` (an `Image`)
// and add it to `this.$el`...
return this;
},
show_details: function() {
// The clicked image model will be `this.model`
// so do whatever you need to.
}
});
ImageView
s:
var ImagesView = Backbone.View.extend({
render: function() {
this.collection.each(function(image) {
var v = new ImageView({ model: image });
this.$el.append(v.render().el);
}, this);
return this;
}
});
var v = new ImagesView({ collection: images_collection });
$(container).append(v.render().el);
演示:
花一点时间学习主干教程和,现在是个好主意。谢谢你的回答,主干文档还可以,但没有演示和示例,只是定义函数。你也能回答吗?