20131
22554
 ');
}
$ (문서) .ready (function () {
$ ( '. openembed'). click (function () {
generateCode ();
var answerid = $ ( '. openembed'). attr ( 'id');
$ ( '# box'). show ();
거짓 반환;
});
$ ( '# embed'). click (function (e) {
e.stopPropagation ()
});
$ (문서) .click (function () {
$ ( '# box'). hide ()
});
});
내 마크 업은 다음과 같습니다.
 삽입 
 삽입  
귀하의 문제는 여기에 있습니다.
$ ( '. openembed')
일치하는 요소의 배열을 반환합니다. 대신 클릭 한 요소 만 선택해야합니다.
$ ( '. openembed')는이 클래스가있는 모든 요소에 클릭 이벤트를 지정하면 올바르게 작동합니다. 그러나 반면에 어떤 것이 클릭되었는지 알 수 없습니다.
그러나 다행히도 핸들러 함수 click 본문에서 $ (this)를 호출 할 수 있습니다.
$ (this)는 현재 (및 클릭 된 요소)를 반환합니다.
// var answerid = $ ( '. openembed'). attr ( 'id'); // 잘못된
var answerid = $ (this) .attr ( 'id'); // 맞음
// 이제 generateCode를 호출 할 수 있습니다.
generateCode (answerid);
또 다른 오류는 generateCode 함수의 본문입니다. 여기에서 선택한 요소의 ID를 전달해야합니다. 이것은 올바른 구현입니다.
function generateCode (answerid) {
if ($ ( '# embed input [name = "comments"] : checked'). length> 0 == true) {
var comments = "& comments = 1";
} else {
var comments = "";
}
$ ( "# embedcode"). html ( '