我爲環以下,想詢問是否有一種方法來簡化它:的JavaScript簡化環路
//data contains an array
var i = 0;
if(data.length >= 1) {
i = 1;
}
for (i; i <= data.length; i++) {
$('#img-thumb-id' + i).attr('src', data[i-1]);
}
我爲環以下,想詢問是否有一種方法來簡化它:的JavaScript簡化環路
//data contains an array
var i = 0;
if(data.length >= 1) {
i = 1;
}
for (i; i <= data.length; i++) {
$('#img-thumb-id' + i).attr('src', data[i-1]);
}
if(typeof data!=="undefined" && data && data.length>0) {
for (var i=0; i < data.length; i++) {
$('#img-thumb-id' + (i+1)).attr('src', data[i]);
}
}
如果(data && data.length)等於您的條件 –
@Jonasw請檢查此示例,它不相等https://jsfiddle.net/ftr46syd/1/ –
@Jonasw'if(typeof data!==「undefined」&& data && data.length)'''typeof data!== undefined「&& data && data.length> 0'表現更好。 –
我看到的jQuery用在這裏,所以你可以使用$.each
$.each(data, function(i, item){
var iteration = +i+1;
$('#img-thumb-id' + iteration).attr('src', item);
});
,如果你想使用香草的JavaScript(jQuery的沒有在所有)
for (var i; i < data.length; i++) {
var iteration = +i+1;
document.getElementById('img-thumb-id'+iteration).src = data[i];
}
或者你可以使用:
for (var i in data) {
document.getElementById('img-thumb-id'+(+i+1)).src = data[i];
}
如果你想提供一個解決方案香草我會建議你更換'$( '#IMG-拇指-ID' +迭代)'和'的document.getElementById( 'IMG-拇指-ID' +迭代)'我知道OP正在使用jQuery選擇器,但對於未來的訪問者來說,它可能會引起誤解或混淆,因爲他們只會期待vanilla。 – NewToJS
我認爲第三個片段woupd也會迭代* length * ... –
Use simple foreach loop in JavaScript
//for eg. data array may be
var data = [1,2,3,4];
data.forEach(function(item, index){
$('#img-thumb-id' + (index+1)).attr('src', item);
});
迭代未定義。 –
感謝,對於不確定的指標是用來 –
@downvoter請刪除您downvote,週二的答案是現在有效 –
循環是好的,但我不明白爲什麼你不只是做:
if(data !== null){
for (var i = 0; i < data.length; i++) {
$('#img-thumb-id' + (i + 1)).attr('src', data[i]);
}
}
你不需要在你的問題中做第一塊代碼。對於閱讀代碼的人來說,如果你只是從0開始並繼續到object.length,那麼對標準的for循環來說更加清楚。
你也可以試試這個:
data.forEach(function(item, index){
$('#img-thumb-id' + (index+1)).attr('src', item);
});
小心'「#IMG-拇指-ID」 +指數+ 1' ......不會產生什麼你預計 – charlietfl
謝謝@charlietfl在括號內放置索引+ 1 –
你可以用'$ .each'。並始終從零開始循環索引。 –
如果data.length == 0,我是否理解你想讓它顯示一次?它似乎並沒有在那種情況下工作.. – Adder
@Adder我認爲這是一個嘗試還檢查數據是否爲空 –