code>'); } $(document).ready(function(){ $('。openembed')。click(function(){ generateCode(); var answerid = $('。openembed')。attr('id'); $('#box')。show(); 返回false; }); $('#embed')。click(函數(e){ e.stopPropagation() }); $(document).click(function(){ $('#box')。hide() }); }); 我的標記是: 嵌入 嵌入
2021-01-04 08:12:45
您的問題在這裡: $('。openembed') 返回匹配元素的數組。您應該只選擇單擊的元素。 如果將click事件關聯到具有此類的所有元素,則$('。openembed')可以正常工作。但是,另一方面,您無法確定單擊了哪個。 但是幸運的是,在處理程序函數主體中,您可以調用$(this)。 $(this)將返回當前(和單擊的元素)。 // var answerid = $('。openembed')。attr('id'); //錯誤 var answerid = $(this).attr('id'); //正確 //現在可以調用generateCode generateCode(answerid); 另一個錯誤是generateCode函數的主體。在這裡,您應該傳遞所選元素的ID。這是正確的實現。 函數generateCode(answerid){ if($('#embed input [name =“ comments”]:checked')。length> 0 == true){ var comments =“&comments = 1”; }其他{ var comments =“”; } $(“#embedcode”)。html('