有这个简单的jquery插件,如果给定的数据属性存在于带有classname" async"的元素上,它将通过ajax加载数据我试图确定数据应该被包装的位置但没有任何结果
(function($) {
$.fn.asyncLoader = function(options) {
var $self = this;
var settings = $.extend({}, options);
var attributes = [];
return this.each(function(i) {
attributes = $(this).data();
$.each(attributes, function(key, value) {
if (key == 'load') {
if (value.target) {
var el = $('.async').filter('[data-load = \'{"target" : "' + value.target + '" }\' ]');
el.load(value.target)
}
}
});
});
};
}(jQuery));
标记看起来像
<div class="async" data-load = '{"target": "/my-target"}'></div>
如何找到父元素?
答案 0 :(得分:0)
改为使用filter()
回调,
var el = $('.async').filter(function(){
return $(this).data('load') === '{"target": "'+ value.target +'"}'
});
或以下 - *这可能需要对对象进行额外检查。
var el = $('.async').filter(function(){
return $(this).data('load').target == value.target
});