我有以下 HTML:
<input type="text">
我想设置这个输入的值:
$("input").val.call (this, "hi");
jQuery 抛出一个错误:
Uncaught TypeError: undefined is not a function
为什么会这样?如何使用 apply
或 call
调用 jQuery 函数?
我猜问题出在this
,在上面的例子中就是window
。这里的this
必须取什么值?
最佳答案
你的问题是这个
。
范围应该是 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/