如何在jquery函数中访问$(this)?

时间:2012-04-07 21:16:48

标签: jquery this

我有以下点击事件

$(".element").click(function() {
    var idNum = $(this).getID;
    $('#new-'+idNum).fadeIn();      
});

以及以下功能:

function getID() {
    var elID = $(this).parent().attr('id');
    return elID;
}

我想要的是能够点击.element,获取它的父ID,然后将该ID存储在变量idNum中。但这似乎不起作用。我做错了什么?

2 个答案:

答案 0 :(得分:3)

不是在另一个函数中执行此代码,为什么不在同一个函数中执行此操作呢?

$(".element").click(function() {
    var idNum = $(this).parent().attr('id');
    $('#new-'+idNum).fadeIn();  

    getID(idNum);   
});

function getID(idNum) {
    var newObject = $(body).find(idNum);
    //Do stuff with newObject
}

由于你不能原生地传递$(this)(它是jQuery中内置的一个对象),你可以在DOM中搜索你传递的变量的存在(就像上面的代码一样)。

答案 1 :(得分:1)

为什么你需要一个额外的功能?只是做:

$(".element").click(function() {
    var idNum = $(this).parent().attr('id');
    $('#new-'+idNum).fadeIn();      
});