我有几个<select>
所有盒子都使用相同的前缀,我想设置一个递归函数来基本上为我完成这项工作。
$('[id^="by_"]').change(function(e)
{
var elem = e;
console.log(e.value);
});
根据这段代码我的意图很清楚吗?我走在正确的道路上吗?
控制台打印出:undefined
最佳答案
我认为您走在正确的轨道上 - 您使用的选择器与“by_”前缀匹配,并且您将更改事件绑定(bind)到所有选择器。确保将其放入 $(document).ready
或类似文件中。您对这段代码有任何问题吗?我不使用 e
参数,而是在函数内部使用 this
来引用元素,并使用 $(this)
来获取它的 jQuery 对象。因此,要获取该值,您可以使用:
this.value
// or
$(this).val()
(忽略 e
和 elem
内容,尽管将 $(this)
存储在类似的内容中并不是一个坏主意elem
这样您就可以引用它,而不是每次需要时重新创建 jQuery 对象)
当使用 jQuery 事件回调时,回调的(第一个)参数是一个 event
对象,它解释了有关发生的事件 ( http://api.jquery.com/category/events/event-object/ ) 的许多事情,并且不保存元素- 这就是 this
的用途!
关于javascript - 使用 jquery 和 .change() 选择 html 元素 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959357/