【发布时间】:2016-02-01 01:59:16
【问题描述】:
我知道我以前看过一个类似问题的漂亮直接的答案,但我无法记住或找到它,所以提前道歉。
我对编码并不陌生,但我没有接受过 Javascript/jQuery 的正式培训。我使用的其他所有内容都经过严格输入,所以我仍在为 JS 如何输入而苦苦挣扎。我有一个函数,每次更改特定类的子级时都会触发(我正在为 Sharepoint 编写此代码,因此需要解决一些问题。)
为什么会这样写:
$(".listen *").change(function(event) {
var element = event.target;
if (element.title == 'Workstation')) {
alert(element.val());
}
}
我收到一个错误,指出 .val() 不是函数,我必须改写
$(".listen *").change(function(event) {
var element = event.target;
if (element.title == 'Workstation')) {
alert($('#' + element.id).val());
}
}
“元素”所指的对象和使用id检索到的对象有什么区别?它们不是 jQuery 对象吗?我意识到并非所有由我的函数返回的对象实际上都可能有返回值,但我不明白如何进行区分。
谢谢!
【问题讨论】:
-
element指的是一个 DOM 对象,而将其包装在$中使其成为类似于$(element)的 jQuery 对象。而.val()是 jQuery 提供的 API,而不是 DOM 提供的 API。 -
正如其他人所说,它需要
$是一个 jQuery 对象。您可能会考虑使用$(this)访问数据,因为您将评估单击元素的 jQuery 对象。只是一个想法。
标签: javascript jquery types