使用JQuery&x27定位注入的DIV;s";“加载”;作用
我从数据库中提取一些信息,然后将其放入DIV,并将所有这些信息注入我的页面。我遇到的问题是在完成加载后定位新注入的DIV 以下是我的jQuery:使用JQuery&x27定位注入的DIV;s";“加载”;作用,jquery,events,load,code-injection,getjson,Jquery,Events,Load,Code Injection,Getjson,我从数据库中提取一些信息,然后将其放入DIV,并将所有这些信息注入我的页面。我遇到的问题是在完成加载后定位新注入的DIV 以下是我的jQuery: $j(document).ready(function() { $('a#load-content').click(function(event) { event.preventDefault(); var productId = $j(this).attr('id').replace(/more-info-/, '')
$j(document).ready(function() {
$('a#load-content').click(function(event) {
event.preventDefault();
var productId = $j(this).attr('id').replace(/more-info-/, '');
$j.getJSON('../json/quicky/product/id/' + productId, function(json) {
var productImage = json.image;
var html = '<div class="quick-info"><img src="' + json.image + '"/></div>';
$j(body).append(html);
});
});
$j('div.quick-info').load(function() {
positionBoxCenter();
});
});
$j(文档).ready(函数(){
$('a#加载内容')。单击(函数(事件){
event.preventDefault();
var productId=$j(this.attr('id').replace(/more info-/,'');
$j.getJSON('../json/quicky/product/id/'+productId,函数(json){
var productImage=json.image;
var html='';
$j(body).append(html);
});
});
$j('div.quick-info').load(函数(){
positionBoxCenter();
});
});
我已经尝试将quick info DIV的加载事件放在加载内容单击事件之后、getJSON回调函数内部、加载内容单击事件之前以及加载内容单击回调函数内部。我还是不能让它工作
加载函数有什么问题吗?将其放置在您已有的成功处理程序中:
$j.getJSON('../json/quicky/product/id/' + productId, function(json) {
var html = '<div class="quick-info"><img src="' + json.image + '"/></div>';
$j('body').append( html );
positionBoxCenter();
});
通过这种方式,您可以在将jQuery添加到dom之前使用jQuery设置它的位置。或者,您可以在执行附加之前尝试附加该加载处理程序(您仍然需要扩展该元素)。尝试使用
使用jquery1.3.2
因为在您尝试绑定load
时,div.quick-info
不存在
仅供参考。。通常,
$(“#加载内容”)
的选择速度比$(“a#加载内容”)
的选择速度快。问题是,您试图在此类元素存在之前将事件处理程序绑定到“div.quick-info”。(执行$(document).ready()时,尚未添加div)
使用Duks建议在成功处理程序中完成操作。您正在ready函数中创建div,单击加载内容后将调用该函数 但是,您可以直接设置加载事件。javascript将在页面加载时执行,这将在实际创建div之前完成 我会把它放在getJSON函数的末尾,如下所示:
$j.getJSON('../json/quicky/product/id/' + productId, function(json) {
var productImage = json.image;
var html = '<div class="quick-info"><img src="' + json.image + '"/></div>';
$j(body).append(html);
positionBoxCenter();
});
$j.getJSON('../json/quicky/product/id/'+productId,函数(json){
var productImage=json.image;
var html='';
$j(body).append(html);
positionBoxCenter();
});
加载事件不适用于div,因为它根本没有加载
完全跳过加载事件,只需将定位元素的代码放在将元素添加到主体的代码之后
$j('div.quick-info').live('load', function() {
positionBoxCenter();
});
$j.getJSON('../json/quicky/product/id/' + productId, function(json) {
var productImage = json.image;
var html = '<div class="quick-info"><img src="' + json.image + '"/></div>';
$j(body).append(html);
positionBoxCenter();
});