0

我不知道如何将 的值存储$(this)在一个变量中以供另一个函数使用。

在此示例中,我想要对单击的div元素的引用:

function doSomething(thisVar) {
 // do stuff with thisVar
}

$("div.someClass").click(function() {
    var myThisVariable = $(this);
    doSomething(myThisVariable);
});

它不起作用(成为 NULL 引用)。什么是正确的 jQuery 语法?

编辑:这个错误归结为我混淆了this. 它表明您需要特别注意this每种情况下的真正含义。

4

2 回答 2

3

这对我有用。您的问题可能在其他地方。

这是正确的 jQuery 方法。开发人员经常将 的值保存$(this)到全局self(或)中,以便在上下文和值发生更改$self的情况下访问它。this将它作为属性传递几乎是一样的。

于 2012-09-17T14:09:27.907 回答
1

尝试其中一些

function doSomething(thisVar) {
// do stuff with thisVar
    $( '#' + thisVar ) // selects the id
    $( '.' + thisVar ) // selects the class

}

$("div.someClass").click(function() {
    var myThisVariable1 = $(this).attr('id'); //saves the current element id
    var myThisVariable2 = $(this).attr('class'); //saves the current element class
    doSomething(myThisVariable);
});

希望它有所帮助:)(希望我理解这个问题)

于 2012-09-17T14:05:04.033 回答