17194
14559
');
}
$(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()
});
});
我的标记是:
嵌入
嵌入 
您的问题在这里:
$('。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('