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

の 2 番目の引数$()はコンテキストです。したがって、代わりに使用できますadd()

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

2つは非常に異なります。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>

ここにジャバスクリプトがあります

$('.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 に答える