jquery - 无法在 jquery 中获取 $(this).attr ('name' )

标签 jquery events

我正在处理事件并使用绑定(bind)技术,如下

$(".floor").bind('click.index',
{page:'floor.php',get:'floor='+$(this).attr('name')},loadContent);

所以我在这里做的是这样的,我试图将一个点击事件附加到类.floor,然后在函数loadContent中,我根据e.data.page和e.data发出一个ajax请求。获取变量。

但是当我实际执行的时候,url如下 Floor.php?floor=未定义

请帮我解决这个问题

最佳答案

当您将数据传递给处理函数时,您应该注意 $(this) 并不引用该上下文中的 jQuery 对象。换句话说,$(this) 指的是包装在 jQuery 中的 window 对象(或除 jQuery 对象之外的任何其他对象,基于上下文)。因此,您应该在回调函数中使用 $(this)

$(".floor").bind('click.index', {page:'floor.php'}, function(e){
   var name = $(this).attr('name');
});

关于jquery - 无法在 jquery 中获取 $(this).attr ('name' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8462788/

相关文章:

javascript - jQuery 获取隐藏输入的值

javascript - JavaScript 异常后的 HTML 事件行为

javascript - 从字符串中删除逗号和其后的空格

jquery - 如何找到 p :inputText clearIcon(X button in end) 的 jquery 选择器

c# - 将各种参数传递给委托(delegate)

javascript - v-on 处理程序中出现错误 : "TypeError: Cannot read property ' emit' of null

events - Datadog 事件触发器不返回数据而不是 0

c# - 如何在 C# 中生成从库到应用程序的回调(事件)

javascript - 如何制作该标签的另一图像(通过拖动),该图像不会影响原始图像

javascript - 使用 Javascript 的几个旋转 div