[英]Most efficient way to update a bunch of HTML elements with jQuery / JavaScript?
我有一个局部视图,每次单击HTML元素时,该视图都会使用AJAX请求中的信息进行更新。 局部视图包含一个人的个人资料,并具有许多不同的HTML元素(名称,年龄等)。
我必须点击一下才能更新大约20个不同的元素-现在,我手动为每个元素设置了一个ID(例如,#prof_name,#prof_age,#prof_gender等)。 不用说它看起来很糟糕而且草率。
有没有更有效的方法来更新大量HTML元素?
是。 您可以使用类而不是ID。
那你可以做
$(".class_name").method()
这会将“方法”应用于所有以“ class_name”作为类的元素。
我个人会使用{{mustache}}模板,但此jQuery提供了.each()函数。 https://api.jquery.com/each/
遍历jQuery对象,为每个匹配的元素执行一个函数。
例:
<ul>
<li>Jack Sparrow</li>
<li>33</li>
<li>Male</li>
</ul>
function updateDate(arr){
$( "li" ).each(function( index ) {
$( this ).html(arry[i]);
});
}
var el = document.getElementById("clickableElement");
el.addEventListener("click", function(){
var response = {
'name': 'Jack Sparrow',
'age': 34,
'gender': 'Male'
}
updateDate([response.name, response.age, response.gender]);
});
我不认为jquery是您要寻找的工具。 这是一项可观察的工作。 您可能需要尝试Knockout JS。 http://knockoutjs.com/
当敲除变量更改时,DOM将自动更新。 他们也有很多您可能要使用的表单方法。
<div data-bind="text: name"></div>
var myController = function()
{
var self = this;
this.name = ko.observable();
$.ajax().done(function(data)
{
self.name(data.name);
});
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.