当前位置:  开发笔记 > 编程语言 > 正文

JQuery .each函数

如何解决《JQuery.each函数》经验,为你挑选了1个好方法。

我的ASP.NET页面上有一堆图像,如下所示:

for (int i = 0; i < 3; i++)
{
    Image image = new Image();
    image.ID = "UpdateStatus";
    image.CssClass = "imageCss";
    image.ImageUrl = "Bump.GIF";
    this.Controls.Add(image);
}

我想遍历每个图像.

为什么这不起作用?即输出"功能1"但不输出"功能2"

$(document.body).click(function () {
    console.log('Function 1');

    $('imageCss').each(function(){
        console.log('Function 2');
    });
});

为什么这不起作用?即输出"功能1",输出"功能2"ONCE.为什么不3次?

$(document.body).click(function () {
    console.log('Function 1');

    $(''#UpdateStatus'').each(function(){
        console.log('Function 2');
    });
});

这工作正常但是我无法访问'this',它是NULL.我需要能够引用当前图像.

$(document.body).click(function () {
    console.log('Function 1');

    $.each('#UpdateStatus', function() { //Or when I use 'imageCss'
        console.log('Function 2');        
        console.log(this);
    });
});

Rex M.. 10

(1)您的jQuery调用$('imageCss')不是有效的选择器.你需要在类名前加上'.'.表示您要选择类"imageCss"的元素:

$('.imageCss')

(2)ID必须是唯一的.在ASP.NET中的服务器上设置Control.ID ="foo"时,即设置控件的服务器端 ID.HTML中生成的客户端ID将是一个独特,冗长,丑陋的字符串ctl00_ctl01_pnlMain_foo1.您最好的选择是使用类选择器.您可以使用空格将多个类应用于单个元素:

myImage.CssClass = "image otherclass";

双方$('.image')$('.otherclass')会正确地选择元素.

(3)this封闭而不存在.函数在调用函数的对象的上下文中执行,因此this将是该对象.

或者,在你的情况下,它看起来并不像你的函数在任何对象的上下文中执行,所以我不确定你期望this的是什么.



1> Rex M..:

(1)您的jQuery调用$('imageCss')不是有效的选择器.你需要在类名前加上'.'.表示您要选择类"imageCss"的元素:

$('.imageCss')

(2)ID必须是唯一的.在ASP.NET中的服务器上设置Control.ID ="foo"时,即设置控件的服务器端 ID.HTML中生成的客户端ID将是一个独特,冗长,丑陋的字符串ctl00_ctl01_pnlMain_foo1.您最好的选择是使用类选择器.您可以使用空格将多个类应用于单个元素:

myImage.CssClass = "image otherclass";

双方$('.image')$('.otherclass')会正确地选择元素.

(3)this封闭而不存在.函数在调用函数的对象的上下文中执行,因此this将是该对象.

或者,在你的情况下,它看起来并不像你的函数在任何对象的上下文中执行,所以我不确定你期望this的是什么.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有