2016-09-21 4 views
1

자바 스크립트 문자열로 html을 추가하려하지만 작은 따옴표로 인해 문제가 발생했습니다.자바 스크립트 문자열로 html 추가

$("<a class='action-button' id='pl65197buy' value='buy now'>Bekijk aanbieding</a>").prependTo("div#centerplist"); 

을하지만 내가 온 클릭 기능이 실 거예요 작업을 추가 할 때 - 내가 어떻게 든 따옴표를 탈출해야합니까 :

이 훨씬 요소를 작품 덧붙이?

onclick="buy(this, 65197, null, 'pl65197qty",null, '/ajax/buy' 

이것은 분명히 잘못된 것입니다하지만 난 콘솔에서 오류없이 얻을 가장 가까운 :

당신은 \ 문자를 사용하여 따옴표를 이스케이프 할 필요가
$("<a class='action-button' id='pl65197buy' value='buy now' onclick='buy(this, 65197, null, 'pl65197qty',null, '/ajax/buy'>Bekijk aanbieding</a>").prependTo("div#centerplist"); 
+0

왜 온 클릭이 아니라 당신의 자바 스크립트 코드에서 이벤트 핸들러? –

답변

1

. 이

$("<a class='action-button' id='pl65197buy' value='buy now' onclick=\"buy(this, 65197, null, 'pl65197qty',null, '/ajax/buy')\">Bekijk aanbieding</a>").prependTo("div#centerplist"); 
+0

정말요? "예"를 삭제 하시겠습니까? –

0
$("<a class='action-button' id='pl65197buy' value='buy now' onclick=\"buy(this, 65197, null, 'pl65197qty',null, '/ajax/buy')\">Bekijk aanbieding</a>").prependTo("div#centerplist"); 

이이

1

나는 당신의 자바 스크립트 이벤트 핸들러를 사용하여 약간 다른 접근 방식을 제안하십시오 시도하십시오. 이 방법은 읽기 쉽고 유지 보수하기가 쉽습니다.

$("<a class='action-button' data-id='165197' id='pl65197buy' value='buy now' >Bekijk aanbieding</a>").prependTo("div#centerplist"); 

$(document).on("click",".action-button",function() { 
    // your buy() function 
    // $(this) contains your pressed button information 
    buy($(this)[0], $(this).data('id'), null, 'p' + $(this).data('id') + 'qty', null, '/ajax/buy') 
}); 

당신은 예를 들어 $(this).data('id')으로 data-id 속성에 액세스 할 수있게되었습니다.

편집 : 구매 기능을 포함 시켰습니다. p + id + qty가 제네릭인지 아닌지는 알 수 없지만 일반적으로 어떻게 작동하는지 생각합니다.

+0

흠 재미있는 thats. 비록 기능을 작성하는 방법을 모르겠지만 – Xeptor

+0

내 대답을 편집했습니다. 이제는 이벤트 처리기 내부에서 함수를 작성하는 방법이 명확 해졌습니까? –

0

시도해보십시오.

<html> 
 
<head> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
 
<body> 
 
<div id="centerplist"> 
 
</div> 
 
<script> 
 
$(document).ready(function() 
 
{ 
 
$("#centerplist").prepend("<a class='action-button' id='pl65197buy' value='buy now' onclick='buy(this, 65197, null,\"pl65197qty\",null, \"/ajax/buy\")'>Bekijk aanbieding</a>"); 
 
}); 
 

 
function buy(p1,p2,p3,p4,p5,p6) 
 
{ 
 
alert(p2); 
 
} 
 
</script> 
 
</body> 
 
</html>

관련 문제