반응형
jQuery의 배열에 항목을 어떻게 추가합니까?
var list = [];
$.getJSON("json.js", function(data) {
$.each(data, function(i, item) {
console.log(item.text);
list.push(item.text);
});
});
console.log(list.length);
list.length
항상 0을 반환합니다. 방화범에서 JSON을 찾아 봤는데 잘 구성되어 있고 모든 것이 잘 보입니다. 내가 놓친 항목을 배열에 추가 할 수없는 것 같습니다.
$.getJSON
비동기 이므로 console.log(list.length);
배열이 채워지기 전에 코드가 실행되고 있다고 생각합니다 . 이를 수정하려면 console.log
콜백 안에 문을 넣으십시오 .
var list = new Array();
$.getJSON("json.js", function(data) {
$.each(data, function(i, item) {
console.log(item.text);
list.push(item.text);
});
console.log(list.length);
});
비동기식 ajax 요청을 만들고 있으므로 목록 길이의 콘솔 로그가 ajax 요청이 완료되기 전에 발생합니다.
원하는 것을 달성하는 유일한 방법은 ajax 호출을 동기식으로 변경하는 것입니다. .ajax를 사용하고 asynch : false를 전달하여이 작업을 수행 할 수 있지만 호출이 반환 될 때까지 UI를 잠그기 때문에 권장되지 않습니다. 반환하지 못하면 사용자가 브라우저를 종료해야합니다.
도움이 되길 바랍니다 ..
var list = [];
$(document).ready(function () {
$('#test').click(function () {
var oRows = $('#MainContent_Table1 tr').length;
$('#MainContent_Table1 tr').each(function (index) {
list.push(this.cells[0].innerHTML);
});
});
});
참고 URL : https://stackoverflow.com/questions/1353245/how-do-i-add-items-to-an-array-in-jquery
반응형
'developer tip' 카테고리의 다른 글
pip install을 사용하지 않고 tar.gz 파일에서 Python 패키지를 설치하는 방법 (0) | 2020.12.11 |
---|---|
web.config에서 프록시 자격 증명을 지정할 수 있습니까? (0) | 2020.12.11 |
파이썬 클래스 메서드 꾸미기-인스턴스를 데코레이터에 어떻게 전달합니까? (0) | 2020.12.11 |
작동하는 JSLint Eclipse 플러그인이 있습니까? (0) | 2020.12.11 |
Ruby on Rails 3-각 요청에 대해 lib 디렉토리 다시로드 (0) | 2020.12.11 |