在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ jquery $() 中放變量不生效

jquery $() 中放變量不生效

      var G1 =[];
      var sz =1;
      var name ='.G'+sz;
      $(".G"+sz).click(function(){
          alert("xxx");
             alert( G1[sz] = $(this).attr('value'));
               sz++;
      })
      
      選擇器只對(duì)第一次的對(duì)象綁定點(diǎn)擊事件 也就是 .G1;為什么會(huì)這樣
回答
編輯回答
咕嚕嚕

JS代碼是自上而下執(zhí)行的,當(dāng)執(zhí)行到

$(".G"+sz).click(function(){})

這一句的時(shí)候,綁定的是.G1這個(gè)元素,然后你后面的點(diǎn)擊事件,只會(huì)執(zhí)行里面的

alert("xxx");
alert( G1[sz] = $(this).attr('value'));
sz++;

$(".G"+sz).click(function(){})沒(méi)有任何關(guān)系了。

2018年5月4日 18:04
編輯回答
拼未來(lái)

你這里沒(méi)有用循環(huán),所以只會(huì)執(zhí)行一次,不會(huì)對(duì)第二次第三次的對(duì)象綁定,sz++執(zhí)行完后,就沒(méi)有了(而且你位置放的可能有問(wèn)題),你可能以為sz++;執(zhí)行完后,上面的sz會(huì)自動(dòng)增加再執(zhí)行一次,不會(huì)的,你要通過(guò)循環(huán)來(lái)指定,上面的 sz 只執(zhí)行一次,后面即使值被修改了,前面的 sz 也還是原來(lái)的值;后面的 sz 是后面的值;
你可能是想這樣,你看是不是?

var G1 = [];
var sz = 1;
var name = '.G' + sz;
while (sz < 10) {
    $(".G" + sz).click(function() {
        alert("xxx");
        alert(G1[sz] = $(this).attr('value'));
    });
    sz++;
}

建議先學(xué) js ,再學(xué) jquery,js 學(xué)好了,jquery 就是查查文檔就好了

2018年9月15日 20:06
編輯回答
單眼皮

因?yàn)槟銢](méi)有寫(xiě)循環(huán)啊,樓上的寫(xiě)法就是對(duì)的。
另外你這個(gè)思路不太對(duì)勁,既然要get同類(lèi)型的東西進(jìn)行相同的處理,為啥不起一個(gè)相同的名字一起get到呢?

$('.G').eq(index)

來(lái)獲取每一個(gè)不是更好嗎。。。

2018年8月9日 11:23
編輯回答
背叛者
var G1 =[];
for(var sz = 1;sz < 10;i++) {
    $('.G'+sz).click(function(){
      
  G1.push($(this).attr('value'));
}

大概是這個(gè)意思?沒(méi)給DOM結(jié)構(gòu)暫定是10個(gè)吧。另外這個(gè)用事件代理寫(xiě)會(huì)更好。

2017年4月4日 19:15