Javascript Jquery选择器-多个项
假设我有两个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()方法通过
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');
});