누군가 내 루핑 배열로 나를 도울 수 있습니까? 어떤 광기 때문에 나는 그것을 반복 할 수 없다. 나는 이것이 내가 놓친 어떤 아이디어라도 간단해야한다는 것을 안다.
많은 감사
var i;
for (i = 0; i < 5; i++) {
$('#display').html('<p> Price: ' + data.results[i].value_inc_vat + '</p>');
$('#display').append('<p> Time : ' + data.results[i].valid_from + '</p>');
$('#display').append([i]);
}
코드가 올바르게 반복됩니다. 문제는 html()
요소의 모든 기존 콘텐츠를 완전히 덮어 쓰는 것을 사용 하고 있기 때문 입니다. 따라서 각 연속 반복에서 이전에 추가 된 콘텐츠를 제거합니다. 이 문제를 해결하려면 다음으로 변경 html()
하십시오 append()
.
let data = {
results: [{
value_inc_vat: 'value_inc_vat1',
valid_from: 'valid_from1'
},{
value_inc_vat: 'value_inc_vat2',
valid_from: 'valid_from2'
}]
}
var i;
for (i = 0; i < 2; i++) {
$('#display').append('<p> Price: ' + data.results[i].value_inc_vat + '</p>');
$('#display').append('<p> Time : ' + data.results[i].valid_from + '</p>');
$('#display').append([i]);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="display"></div>
성능을 향상시키기 위해 한 번만 map()
사용할 수있는 문자열 배열을 만드는 데 사용할 수 있다는 점도 주목할 가치가 있습니다 append()
. 이 시도:
let data = {
results: [{
value_inc_vat: 'value_inc_vat1',
valid_from: 'valid_from1'
},{
value_inc_vat: 'value_inc_vat2',
valid_from: 'valid_from2'
}]
}
var html = data.results.map(function(result) {
return '<p>Price: ' + result.value_inc_vat + '</p><p>Time : ' + result.valid_from + '</p>';
// interpolated string version, note this won't work in IE:
//return `<p>Price: ${result.value_inc_vat}</p><p>Time : ${result.valid_from}</p>`;
});
$('#display').append(html);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="display"></div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다