0

我有以下点击事件

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

和以下功能:

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

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

4

2 回答 2

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 是否存在您传递的变量(就像上面的代码一样)。

于 2012-04-07T21:20:35.170 回答
1

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

$(".element").click(function() {
    var idNum = $(this).parent().attr('id');
    $('#new-'+idNum).fadeIn();      
});
于 2012-04-07T21:19:28.517 回答