这样的事情? :http://jsfiddle.net/RZPNG/4/
var datas = [
{href: 'some_uri', 'class': 'this-css-class'},
{href: 'another_uri', 'class': 'that-css-class'}
],
ul = $('ul');
$.each(datas, function(key, value) { // initialize list
createElement(value);
});
function createElement(elem) {
ul.append($('<li class=' + elem.class + '><a href="' + elem.href + '">' + elem.href + '</a></li>'));
}
function addElement(elem) {
datas.push(elem);
createElement(elem);
}
function removeElement(i) {
datas.splice(i, 1);
$(ul.find('li').get(i)).remove();
}
addElement({href: 'foo', 'class': 'bar'});
removeElement(1);
选择方式:
var datas = [
{href: 'some_uri', 'class': 'this-css-class'},
{href: 'another_uri', 'class': 'that-css-class'}
],
ul = $('ul');
$.each(datas, function(key, value) { // initialize list
createElement(value);
});
function createElement(elem) {
ul.append($('<li class=' + elem.class + '><a href="' + elem.href + '">' + elem.href + '</a></li>'));
}
function addElement(elem) {
datas.push(elem);
createElement(elem);
}
function removeElement(selector) {
datas.splice(findElement(selector), 1);
$(ul.find('li.' + selector)).remove();
}
function findElement(selector) {
for (var i in datas) {
if (datas[i].class === selector) {
return i;
}
}
}
addElement({href: 'foo', 'class': 'bar'});
removeElement('that-css-class');
你看着[淘汰赛(http://knockoutjs.com/)?它使用MVVM模式来执行DOM模型绑定。 – jrummell 2012-03-29 12:28:46