“this”是否指的是调用此函数的元素?

2023-12-09

在下面的代码片段中我使用$(this)引用调用该函数的元素。我知道这是不正确的,因为我打印了这些值,它给了我“未定义”。如何引用输入元素?

$(function() {
    $( ".datepicker" ).datepicker({
        onSelect: function (date, obj){
                if(confirm('Is this correct?: '+ date )) {
                    $.post('edit.php', {
                        "row": $(this).data('id'),
                        "date":date,
                        "field":$(this).name,
                        "ajax":'true'
                        });
                    }
                }
    });
});

这是 html 元素:

<input 
name="appvAcadVp" 
data-id="someid"  
class="datepicker" size="10" 
type="text"
placeholder="someholder"
>

jQuery 集this本身,通常指向当前元素。

否则,在 JavaScript 中...

作为分配给属性的函数

var a = {
   b: function() {
      // `this` is `a`
   }
}

a.b();

Except,其中属性被分配给变量。观察...

var c = a.b;
c(); // the `this` will point to `window`

作为分配给变量的函数

var a = function() {
   // `this` is `window`
}

a();

作为建造者

var C = function() {
   // `this` is `c`
}

var c = new C();

请注意,如果您忘记实例化new,JavaScript 会将这些属性分配给全局对象(window在浏览器中)。


在全球范围内

// In global scope `this` is `window`
var d = this;

正如所调用的call() or apply()

您还可以设置this明确地与call() and apply()函数方法。


现在,针对你的问题...

感谢您对“this”的解释,但我仍然不明白为什么该引用在我的代码中不起作用

我很抱歉。

$(this).name不会像this现在是一个 jQuery 对象,并且只有几个属性(其中没有一个是name).

要么使用$(this).attr('name')或滴包装this使用 jQuery 对象并访问this.name.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“this”是否指的是调用此函数的元素? 的相关文章

随机推荐

  • 如何拆分 ObservableCollection

    我有 ObservableCollection 有 100 条记录 现在我想将该集合拆分为 10 个新集合 每个新集合有 10 条记录 这意味着 1 个集合 100 条记录 10 个集合 10 条记录 1 个集合 任何帮助将不胜感激 使用
  • 常量函数指针

    我在函数指针方面遇到一些困难 我有一个基类 它定义了一个函数指针 通过typedef double function double x const 一个简单的问题 为什么上面的 typedef 不能编译 给出以下错误 错误 const 和
  • 展开循环有效,for 循环无效[重复]

    这个问题在这里已经有答案了 我有一些我不理解的行为 虽然展开的循环工作正常 循环抛出 IndexOutOfRangeExceptions 调试显示有 0 9 个 teamButtons 和 0 9 个卡片 c i private void
  • 为密度图中的平均值、数据框中的新变量创建 geom_vline,而不创建新表

    在这里我正在看mtcars数据集 我创建了一个密度图wt变量使用ggplot2包裹 我也把geom vline 图层添加一条垂直线作为平均值wt ggplot mtcars aes x wt geom density geom vline
  • 从 Uri 设置布局背景

    当我从图库中选择图像时 我会返回一个 Uri 我想将此图像设置为布局的背景 如果是ImageView就好了 我该怎么做 case LOAD FROM GALLERY mImageCaptureUri data getData ImageVi
  • Jenkins git-client:如何在 Windows 上迁移到 jgit

    自从詹金斯git client插件已移至使用jgit 配置方面存在很多问题 我见过的所有解决方案都涉及切换回使用旧的 git 命令行 因为现在大多数安装都已到位 以使其在大多数时间都可以工作 我们是同一条船 但是git命令行还是veryWi
  • jquery 工具 - 选项卡鼠标悬停 - 添加链接

    我喜欢这个工具 它可以在将鼠标移动到像素上时显示文本 http flowplayer org tools demos tabs mouseover htm 现在 当鼠标单击其中一个像素时 我尝试打开一个链接 我尝试了这样的方法 origin
  • 如何通过多项选择调整 Spinner 中项目的高度大小?

    我只是展示spinner在此基础上进行多项选择stackoverflow 答案 参见 Destil 答案 这里我的问题是我无法通过多项选择来调整 Spinner 中项目的高度大小 如何调整每个项目的高度 据我所知 您将必须使用自定义适配器
  • Visual Studio Express 2013 背后的代理

    我刚刚下载并安装了适用于 Windows 桌面的 Visual Studio Express 2013 我正在使用用户名 密码身份验证的代理后面工作 但我不知道如何注册该产品 女巫现在有效 14 天 每次 407 需要代理身份验证 我尝试编
  • Java 表达式解析器和计算器 调车场算法

    所以任务是为表达式计算器创建我们自己的解析器 例如 输入 3 2 1 6 3 输出 3 输入 3 2 输出 无效表达式 输入 5 2 输出 3 输入 5 2 输出 7 这里的代码解决了问题的一部分 除了它有一个固定的输入和负值无法解决 而且
  • 在 VS Code 上模拟 Android 时出现“无效参数:无法找到 null 的可执行文件” - Mac OS X

    当我通过 Android Studio 安装 Android SDK 后尝试在 Mac OS Catalina 中的 VS Code 上模拟 Android 时 它返回消息 无效参数 无法找到 null 的可执行文件 我已经创建了环境变量
  • 变量在其自己的初始值内使用,而变量在 init 之后的闭包内使用

    typealias CBType gt Void class A let b B func test let token b register CBType in self b waitFor token ERROR Variable us
  • 水平 UIButton 中的垂直文本

    我在纵向应用程序中使用垂直 UIButton 只是一个宽度为 60 高度为 160 的普通按钮 我想将标签垂直放置在按钮下方而不是横跨按钮 当我使用以下代码旋转标签时 workPackageButton titleLabel setTran
  • DispatchQueue.sync 与 DispatchQueue.async 之间的区别

    我试图理解 Dispatch Sync 和 Dispatch Async 我知道它以 GCD 的同步和异步方式执行 但是当我尝试下面的代码时 它给了我奇怪的场景 我在 Playground 中测试了下面的代码 同步块执行了 3 次 异步块给
  • 如何便携式地打开大文件支持?

    我目前正在编写一个 C 程序 该程序可以读取和写入大小可能超过 2 GiB 的文件 在Linux上功能测试宏 7 规定 LARGEFILE64 SOURCE Expose definitions for the alternative AP
  • 如何使用 REST API 下载 Parse.com 文件类型?

    Parse com REST API 文档列出了与 Parse com 数据交互的多种方式 例如上传和下载类 它还描述了上传文件 但它没有提到如何从 Parse com 下载文件 有谁知道这是否可能 如果可以 该怎么做 Parse com
  • WCF 耐用服务是正确的选择吗?

    我们正在选择在 WCF 会话 调用之间保存状态的最佳方法 我们发现WCF耐用服务适合我们的需要 我们想知道这对于大量使用是否可以 我们预计有 1000 多个会话 每个会话将保存大约 100KB 的数据 xml 序列化格式 并保存复杂的对象
  • 使用延迟形状数组从 C 调用 Fortran

    是否可以从 C C 调用 Fortran 子例程 其中 Fortran 参数之一是延迟形状数组 希望我正确使用了术语 延迟形状 在下面的例子中 subr1 使用显式形状 并且工作正常 但是subr2 使用延迟形状并导致段错误 这个问题表示需
  • 如何将 PHP 数组表示为逗号分隔的字符串? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP MYSQL 在 WHERE 子句中使用数组 我有一个 ID 值为 1 5 2 6 7 的数组 我需要在 MySQL item id IN 1 5 2 6 7 语句中使用它来仅选择具有数组中列出
  • “this”是否指的是调用此函数的元素?

    在下面的代码片段中我使用 this 引用调用该函数的元素 我知道这是不正确的 因为我打印了这些值 它给了我 未定义 如何引用输入元素 function datepicker datepicker onSelect function date