jQuery .click中的多个变量

时间:2012-09-04 21:00:58

标签: jquery

我还是jQuery的新手,我遇到了一个小问题。为什么.click函数不会像这样工作:

var $rowStartDate = $("span[id^=rowStartDate]");
var $rowEndDate = $("span[id^=rowEndDate]");

$($rowStartDate, $rowEndDate).click(function() { 
//Notice the variables in this selector

但是,当我从变量中移出元素时它会起作用:

$("span[id^=rowStartDate], span[id^=rowEndDate]").click(function() {

3 个答案:

答案 0 :(得分:5)

$()的第二个参数是上下文。因此,您可以使用add()代替:

$rowStartDate.add($rowEndDate).click(function() { ... });

答案 1 :(得分:0)

这两者非常不同。您需要查看jQuery() function的定义。当你说$("span[id^=rowStartDate], span[id^=rowEndDate]").click(function() {时,你将一个字符串传递给jQuery()函数,然后该函数对该字符串起作用。当您说$($rowStartDate, $rowEndDate).click(function() {时,您将2个参数传递给期望的函数:

jQuery( selector [, context] )
jQuery( element )
jQuery( object )
jQuery( elementArray )
jQuery( jQuery object )
jQuery()

答案 2 :(得分:0)

此外,您可以使用课程。

这是Html

<span class='rowdate' id='rowStartDate'></span>
<span class='rowdate' id='rowEndDate'></span>

这是javascript

$('.rowdate').click(function(){
   //Maybe you want to know which span is clicked?
   if($(this).attr("id")=="rowStartDate"){
        //rowStartDate clicked function starts here
   }else{
        //rowEndDate clicked function starts here
   }
})