0
$('select').change(function() {
   //important stuff
});

在做之前,important stuff我想通过它的 ID 来验证有问题的选择器。我想要影响的所有 ID 都以_stat. 您将如何使用 JQuery 中的正则表达式(或其他内容)来执行此操作?

$('select').change(function() {
   if ($("select[id*='_stat']")) {  //<~ this aint work
   //important stuff
   }
});
4

3 回答 3

3

您可以使用 来执行此操作if ($(this).is("select[id$='_stat']")),但首先将事件处理程序附加到这些元素肯定会更好 - 这样您根本不必检查:

$("select[id$='_stat']").change(function() {
   //important stuff
});
于 2012-05-02T07:45:16.730 回答
1

你正在寻找这个:

if($(this).is('[id$="_stat"]')) {
    // important stuff
}

尽管如果您只希望change处理程序在那些select以 id 结尾的元素上运行_stat,您应该查看 Jon 的答案。

于 2012-05-02T07:45:21.217 回答
1

您甚至可以仅附加到 id 以 _stat 结尾的选择:

$('select[id$="_stat"]').change(function() {
   //important stuff only for selects id ending in _stat
});
于 2012-05-02T07:46:24.900 回答