Javascript jQuery-.Ready在div标记上激发,但不在页面中

Javascript jQuery-.Ready在div标记上激发,但不在页面中,javascript,jquery,Javascript,Jquery,我在一个单独的.js脚本文件中实现了下面的函数,我将其加载到我的主页(Asp.net mvc)中 回拨服务器的费用相当高,但如果在需要填写我的div标签的子页面/内容页面上特别请求,则可以 我的问题是代码在每个页面上运行,包括不存在div标记的页面 如何修复代码 欢迎发表意见, 谢谢,安德斯,丹麦 jQuery("divStatWrapper").ready(function() { jQuery.getJSON("/Statistics/GetPointsDevelopmen

我在一个单独的.js脚本文件中实现了下面的函数,我将其加载到我的主页(Asp.net mvc)中

回拨服务器的费用相当高,但如果在需要填写我的div标签的子页面/内容页面上特别请求,则可以

我的问题是代码在每个页面上运行,包括不存在div标记的页面

如何修复代码

欢迎发表意见, 谢谢,安德斯,丹麦

jQuery("divStatWrapper").ready(function()
    { 
    jQuery.getJSON("/Statistics/GetPointsDevelopment", 
        function(json)
        {
            jQuery("#divStatWrapper #divStatLoading").fadeOut(1000);

           var jsonPoints = new Array();

            jQuery.each(json.Points, function(i, item)
            {
                jsonPoints.push(item.PlayerPoints );
            });

            jsonPoints.reverse();

           var api = new jGCharts.Api();
            jQuery('<img>') 
            .attr('src', api.make({
                data : jsonPoints,
                type : "lc",
                size : "600x250"
                })) 
            .appendTo("#divStatContents"); 

            jQuery("#divStatWrapper #divStatContents").fadeIn(1000);

        });
    });
jQuery(“divStatWrapper”).ready(函数()
{ 
jQuery.getJSON(“/Statistics/GetPointsDevelopment”,
函数(json)
{
jQuery(#divstattwrapper#divstatload”).fadeOut(1000);
var jsonPoints=新数组();
每个(json.Points,函数(i,项)
{
jsonPoints.push(item.PlayerPoints);
});
jsonPoints.reverse();
var api=new jGCharts.api();
jQuery('
html:


Statistik-udvikling i点在tid上方
(直到洛本德为止的所有结果)
加载
您是否缺少一个#

除此之外,ready函数在DOM就绪时启动,而不是在加载元素时启动。从文档:

.ready()方法只能在与当前文档匹配的jQuery对象上调用,因此可以省略选择器

您可能应该绑定到div的load事件,而不是ready事件:

jQuery('#divStatWrapper').load(function() [...]

这可能是因为您的初始选择器错误。我假设您的HTML中没有任何
元素,这意味着您希望引用带有ID的
,如下所示(请注意#):

只是一个想法:

$("#divStatContents").each(function(){
   // your code here
});

将为每个#divStatContents运行一次

为什么不
$(文档)。就绪(…)
?我了解到,$可能用于不同的目的,这取决于您使用的库-为了安全起见,我只需将其写出来。据我所知,$和jQuery是一样的(除非被其他库重载).Hi Jan,我曾尝试添加#但现在它根本不运行?!我也更改为.load(我从错误的位置复制;-),但这也没有使它运行。有什么线索吗?也许你应该将整个内容包装在jQuery(文档)中。ready()调用以确保DOM已加载。你也可以尝试使用“each”而不是“load”,因为它只发射一次。我最后得到了一个组合-。每个都包好了。准备好了,谢谢大家!
//declare event to run when div is visible
function doFunction(){
   //do something

}

//hookup the event
$('#divId').bind('isVisible', doFunction);

//show div and trigger custom event in callback when div is visible
$('#divId').show('slow', function(){
    $(this).trigger('isVisible');
});
jQuery("#divStatWrapper")
$("#divStatContents").each(function(){
   // your code here
});
//declare event to run when div is visible
function doFunction(){
   //do something

}

//hookup the event
$('#divId').bind('isVisible', doFunction);

//show div and trigger custom event in callback when div is visible
$('#divId').show('slow', function(){
    $(this).trigger('isVisible');
});