我正在尝试为jQuery编写一个辅助函数,如果它尚不存在则创建一个元素。到目前为止,我有:
function setup(element, parent){
if($(parent).child(element).length == 0){
$(parent).append('<div class="'+element+'"></div>');
}
}
但我想知道这不是一个解决的问题。是吗?
(我之所以这样,是因为我可以提供JSON内容并将其放在正确的位置。如果存在正确的位置,我只会更新内容。如果它不存在,我会创建它)。
答案 0 :(得分:2)
如果您希望element
成为类名,那么您还需要使用类选择器进行测试:
function setup(className, parent) {
if ($(parent).children("."+className).length == 0) {
$(parent).append("<div></div>").children(":last-child").addClass(className);
}
}
答案 1 :(得分:2)
假设您识别具有id的div并且具有带有id作为键的元素数组
function mergeIn(elements,parent){
$(parent).children('div').each(function(){
$(this).html(elements[$(this).attr('id')]);
delete elements[$(this).attr('id')];
});
//only not present elements remain in the array
for(var i in elements){
$(parent).append('<div id="'+i+'">'+elements[i]+'</div>');
}
}
并且全部完成了:)