jQuery 事件函式傳參異常identifier starts immediately after numeric literal

luckyMichaelHuang發表於2018-05-10

問題情境:

  var arr=[aabbcc,112233];

  var html = “”;

  for(var i =0;i<arr.length;i++){

    html += `<li id=”`+arr[i]+`” onclick=”select(`+arr[i]+`)”>helloworld</li>`

  }

  $(“ul”).append(html);

  function select(id){

    var identifier = “#” + id; 

    $(identifier).html(); //拋異常的位置 

  }

分析:

  jQuery的ID選擇器要用的是字串,當傳給ID選擇器的是數字時會拋異常。將參賽改為字串即可。

更正:

  迴圈體中的onclick=”select(`+arr[i]+`)”改為onclick=”select(“+arr[i]+“)”。是轉義符,用單引號將引數包裹起來。

相關文章