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:39
您的问题在这里: $('。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('