簡體   English   中英

使用Javascript字符串作為jQuery中的選擇器?

[英]Use Javascript string as selector in jQuery?

我用Java語言編寫:

 for ( i=0; i < parseInt(ids); i++){
   var vst = '#'+String(img_arr[i]);
   var dst = '#'+String(div_arr[i]);
  }

我如何像這樣繼續在jQuery中:

    $(function() {
     $(vst).'click': function() {
      ....
     }
    }

不,像這樣

 $(function() {
     $(vst).click(function() {
         ....
     });
 });

還有其他方法取決於您的jquery庫版本

您的語法錯誤,但是除此之外,您將不會有任何問題。 要指定點擊:

 $(function() {
      for ( i=0; i < parseInt(ids); i++){
          var vst = '#'+String(img_arr[i]);
          var dst = '#'+String(div_arr[i]);

          $(vst).click(function (evt) {
                ...
          });
      }
 })

請注意,由於vst在循環中發生變化,因此您的事件代碼也應放在循環中。

編輯:假設您希望每個圖像和每個div發生相同的事情,您還可以執行以下操作:

$(function () {
    function imgEventSpec($evt) {
        // image clicked.
    }

    function divEventSpec($evt) {
        // div clicked.
    }

    for (var idx = 0; idx < img_arr.length && idx < div_arr.length; idx ++) {
        $("#" + img_arr[idx]).click(imgEventSpec);
        $("#" + div_arr[idx]).click(divEventSpec);
    }
});

與此相關,您的vst必須是一個允許您單擊它的對象,並且您為該對象分配了一個類或ID,以便觸發該函數並運行for ... loop

如果我錯了,請糾正我,因為這是我從您的問題中得到的。

$(function() {
 $(vst).click(function() {
  ....
 }
})

您可以使用任何字符串作為jQuery的元素選擇器參數。

閱讀文檔以獲取更多信息。

http://api.jquery.com/click/

http://api.jquery.com/

您可以按照想要的方式將變量中的字符串傳遞給$()

例如,您可以執行以下操作:

var id = 'banner';
var sel = '#'+id;
$(sel).doSomething(); //will select '#banner'

綁定單擊處理程序時使用的語法有問題。 通常這樣工作:

$(sel).click(function(){
//here goes what you want to do in the handler
});

請參閱有關.click()的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM