Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery选择器-多个项_Javascript_Jquery_Css Selectors - Fatal编程技术网

Javascript Jquery选择器-多个项

Javascript Jquery选择器-多个项,javascript,jquery,css-selectors,Javascript,Jquery,Css Selectors,假设我有两个jquery选项: var txtA = $('#txtA'); var txtB = $('#txtB'); 为了附加相同的事件函数,这是最简洁的方法,还是我缺少了一个明显的语法或jquery向导 $(jQuery.merge(txtA , txtB )).click(function () { alert('hello'); }); 谢谢。应该这样做(前提是您已经填充了txtA和txtB并希望重用这些选择): 给定一个表示一组DOM元素的jQuery对象,.add()方法通过

假设我有两个jquery选项:

var txtA = $('#txtA');
var txtB = $('#txtB');
为了附加相同的事件函数,这是最简洁的方法,还是我缺少了一个明显的语法或jquery向导

$(jQuery.merge(txtA , txtB )).click(function () { alert('hello'); });
谢谢。

应该这样做(前提是您已经填充了
txtA
txtB
并希望重用这些选择):

给定一个表示一组DOM元素的jQuery对象,
.add()
方法通过这些元素和传递给该方法的元素的并集构造一个新的jQuery对象。
.add()
的参数几乎可以是
$()
接受的任何内容,包括jQuery选择器表达式、对DOM元素的引用或HTML片段

您只需执行以下操作:

$("#txtA, #txtB").click(function () { alert('hello'); });
与CSS选择器相同,酷吧!:-)


可以为您工作

以下是我所做的:

$()
    .add(elementOne)
    .add(elementTwo)
    .add(elementThree)
    .click(function() {
        alert('hello');
    });

如果您已经有了两个选择器变量(可能是因为您已经需要对它们执行单独的操作),那么还有更好的方法…@Felix您的链接指的是传递一个字符串并让jquery引擎分离查询,我有两个(或更多)强类型对象。@maxp:Well,不一定清楚您想要/必须如何选择元素。@Felix它100%清楚-它在前三行。@Alnitak:标题是Jquery选择器-多个项目。事先选择元素可能正是OP认为的工作方式。如果他所做的唯一操作是添加click事件处理程序,那么使用多重选择器会更好。无论如何这并不是我们必须讨论的问题。+1用于显示对现有基于选择器的变量有效的唯一正确答案。嗨@Pranay Rana,恐怕这不起作用。它将尝试在“#txtB”的上下文中选择“#txtA”,我相信“#txtA”,“#txtB”需要在一个字符串中“#txtA,#txtB”。如果我错了,请纠正我。@Alex Key-关于你的信息,你可以检查这个:嗨@Pranay Rana现在我很困惑。。。有人刚刚编辑了你的答案吗?一秒钟前,它读取$('#txtA','#txtB'),即2个参数,而不是$('#txtA,#txtB')(1个参数)。要么那样,要么我疯了:-)我已经解开了-1。他的答案不正确。txtA和txtB都是单独的集合。他用错误的假设回答了这个问题。@Alex Key你对
$(“#txtA”,“#txtB”)
的看法是对的。我也看到了(但我很困惑没有显示编辑)。不,我有两个强类型集合“#txtA”和“#txtB”都只是示例。不用担心@maxp我假设错了。您可能想更新您的问题,明确需要强类型集合,因为我们有几个人误读了它。
$('#txtA, #txtB').click(function () { alert('hello'); });
$()
    .add(elementOne)
    .add(elementTwo)
    .add(elementThree)
    .click(function() {
        alert('hello');
    });