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

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

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

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

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

编辑:此错误是下到我迷惑的不同实例this 足见,你需要加倍注意什么this实际上意味着在每个方面。

#1楼 票数:3 已采纳

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

这是正确的jQuery方式。 很多时候,开发商的值保存$(this)向全球self (或$self )来访问它的情况下,上下文,因此值this变化。 将其作为属性传递几乎是一回事。

#2楼 票数: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);
});

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

  ask by Gruber translate from so

未解决问题?本站智能推荐:

2回复

如果从存储的变量调用jquery函数,则绑定错误

我以两种方式调用jQuery函数,一种有效,另一种无效,因为this绑定不正确。 $('#my-div').fadeOut(); 可以按预期工作, fadeOut函数内部的this值是jQuery对象。 不起作用,因为价值this是现在Window 这是两个示例的jsfiddle
6回复

jQuery中的$(this)不是循环变量?

以下将div中每个div的id名称作为内容: 会工作但是 将不会。 这是为什么? 我以为$(this)是循环变量? 有没有办法在不使用each()情况下完成上述操作?
3回复

jQuery从变量中选择一个值

我是jQuery的新手,我有一个关于从变量中获取所需值的问题。 更具体我在html文件上有这个列表。 现在我想对mainmenu和子菜单使用相同的功能。 我的问题是当我点击子菜单时,变量$(this)有两个值。 一个用于子菜单中的li,另一个用于mainmenu的li。 现在我想
1回复

如何修改jquery插件中的变量?

我在插件之外声明了变量,所以我可以稍后修改它们: 但显然如果我将插件附加到另一个元素,则该函数将被覆盖。 那么如何为每个使用该插件的元素设置不同的变量呢?
8回复

在jQuery事件中控制“this”的值

我使用jQuery创建了一个“控件”,并使用jQuery.extend来帮助使其尽可能地面向对象。 在控件初始化期间,我连接了各种单击事件,如下所示 注意,我正在将“ this”作为bind方法中的数据参数。 我这样做是为了获得附加到控件实例的数据,而不是从激发click事件的元素中获
2回复

将此添加到jQuery中的变量

我想使用一个变量在我的jQuery代码中缓存几个选择器。 我似乎遇到了一些麻烦,因为我不确定如何正确地将'this'关键字添加到变量中。 例如,我有一个定义如下的变量; 因为我将使用它来显示和隐藏导航项,所以我想使用带有'this'关键字的变量'dropDownNav'来定位单个导航项
5回复

从jquery中的li中获取选定的值

使用jquery查找单击事件的值。 每次单击delete类时, hidden变量都会返回第一个hdid而不是单击的hdid 。 当我使用this它返回整个delete类,但我只需要选择班级的“hdid”。 现在的问题是我怎么可以用this来的变量设置为所选hdid
2回复

JAVASCRIPT/JQUERY存储对象

故事:我需要将JQuery('')存储到数组中以进行进一步的工作。 我的半功能解决方案(无法正常工作): 问题: 警报始终仅返回“未定义”。 解决方案: 用$(this)代替全局变量解决了我的问题,现在它可以正常工作了。 $ selected_place = new_pla