1

我还是 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() {
4

3 回答 3

5

的第二个参数$()是上下文。所以你可以add()改用:

$rowStartDate.add($rowEndDate).click(function() { ... });
于 2012-09-04T21:02:39.117 回答
0

两者有很大不同。您需要查看jQuery() 函数的定义。当您说$("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()
于 2012-09-04T21:09:02.763 回答
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
   }
})
于 2012-09-04T21:12:08.133 回答