javascript - 使用 call 或 apply 调用 jQuery 函数

标签 javascript jquery html

我有以下 HTML:

<input type="text">

我想设置这个输入的值:

$("input").val.call (this, "hi");

jQuery 抛出一个错误:

Uncaught TypeError: undefined is not a function

为什么会这样?如何使用 applycall 调用 jQuery 函数?

我猜问题出在this,在上面的例子中就是window。这里的this必须取什么值?

JSFIDDLE

最佳答案

你的问题是这个

范围应该是 jQuery 对象 $("input")。所以:

var myThis = $("input");
myThis.val.call (myThis, "hi");

undefined 问题是 jQuery 在内部会尝试调用该作用域对象上的其他 jQuery 函数。而您的 this(可能是 window)没有它们。

关于javascript - 使用 call 或 apply 调用 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23215629/

相关文章:

javascript - 从文件加载 XML 并解析?

javascript - 在 javascript/DOM 中存储文本内容的最快和/或最干净的方法是什么?

javascript - 单击导航栏后如何在文本上放置动画?

javascript - 不可见的 ReCaptcha 不调用回调

javascript - 当构造函数有参数时 Angular 2 中的依赖注入(inject)

固定大小的 Javascript 多维数组

html - 使用 <ul> 作为有序列表

javascript - 使用 React Native SDK 的方法返回 undefined

javascript - 根据选定的嵌套复选框生成 JSON

html - 在表列上创建覆盖