배경 :자바 스크립트를 통해 동적으로 채워진 HTML 요소를 교체
나는 .json 파일을 다운로드 할 수 있도록 해주는 버튼이나 링크를 만들려고 해요. 이 파일은 동적이며 사용자가 수행하는 작업 (질문의 범위를 벗어남)에 따라 달라집니다.
버튼을 만들면 .json 파일을 다운로드 할 수있는 blob과 링크가 생성됩니다. 그러나 데이터가 변경되면 현재 링크를 대체하는 대신 현재 링크 뒤에 새 링크가 만들어집니다.
질문 :
가 어떻게 그냥 대신 더블을 작성하는 기존의 링크를 교체하려면 코드를 변경합니까?
JS 코드 :
function download_rapport(){
var data = geojson.features.map(function(row) { return row.properties; });
var json = JSON.stringify(data);
var blob = new Blob([json], {type: "application/json"});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.download = "backup.json";
a.href = url;
a.textContent = "Download backup.json";
document.getElementById('content_test').appendChild(a);
};
내가 대신에 appendChild의 innerHTML을 시도했지만, 대신 링크, 그냥 문자열로 링크를 반환합니다.
HTML 코드 :
<form action="javascript:submitQuery()" id="advancedSearch">
<!-- Modal/Pop-up window -->
<div id="generateReport" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<button onclick="download_rapport()">Generate download</button>
<div id="content_test"></div>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Fastfood report</h4>
</div>
<div class="modal-body">
<div class="table-responsive" id="test">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
다운로드 사업부가 위치한 HTML, 당신이 그것을 대체하는 대신 추가하고 있기 때문이다 Generate download
당신의 HTML 코드를 공유하시기 바랍니다의 HTML 콘텐츠를 지정합니다. –
편집 된 질문, HTML 코드 –
참조 작업 코드로 답변을 업데이트했습니다. –