来自jQuery对象的jQuery Selector

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自jQuery对象的jQuery Selector相关的知识,希望对你有一定的参考价值。

我怎样才能听到多个jQuery对象的onChange事件?

var el1= jQuery('input[type="checkbox"][name="x"]');
var el2= jQuery('input[type="checkbox"][name="y"]');
jQuery(el1, el2).change(function (e) {
    //....
});

当然我可以将2个元素选择器作为字符串放入.change函数中,但这是一个简化的例子。我想使用jQuery对象,而不是使用字符串选择器。

对我来说这看起来像一个简单的“让我谷歌换你”的问题,但我找不到过去一小时的解决方案。

答案

你可以使用add()merge()方法:

加:

el1.add(el2).change(function (e) {
    //....
});

合并:

$.merge(el1, el2).change(function (e) {
    //....
});
另一答案

试试这个

var el1 = jQuery('input[type="checkbox"][name="x"]');
var el2 = jQuery('input[type="checkbox"][name="y"]');


$(document).on('change', [el1, el2], function() {
  console.log('multiple')
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<label for="el1">Element 1</label>
<input id="el1" type="checkbox" name="x" value="test1" />
<label for="el2">Element 2</label>
<input id="el2" type="checkbox" name="y" value="test2" />
另一答案

你可以使用.add()

el1.add(el2).on('change', function () { /* body */ });

以上是关于来自jQuery对象的jQuery Selector的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JQuery 创建一个新的 img 标签,其中包含来自 JavaScript 对象的 src 和 id?

jQuery自动完成:以不同方式显示某些对象?

使用 jquery 和 ajax 显示来自 mysql 的数据

如何在 JQuery/Javascript 中处理来自服务器(源)的无效 JSON

jQuery.Deferred对象

在 PHP 或 jQuery 中包含来自 MySQL 的重复数据