Мой обычный код JavaScript, кажется, выводит материал на страницу либо неправильно, либо в неправильном порядке, что странно, потому что код очень прост (возможно, 20 строк сверху).Мой код ниже.Примечание:
pttr_data.length
вернет 150 clean_array.length
вернет 4. output
- это объект div, т. Е. Var output = document.getElementById ("results");
Я хочу, чтобы мой код выводился так:
<div>matcha matchb matchc matchn </div>
Но вместо этого он возвращает:
<div/>matcha matchb matchc match
Здесьмой код, в котором я поместил случайные символы, чтобы выяснить, куда идут вещи (вы увидите ;;;, |||, [[[, }}}
в окружении элементов div):
var len = pttr_data.length;
for (var i = 0; i < len; i++) {
var clean_array = pttr_data[i].match(RegExp(rexp.value, flags.value));
output.innerHTML += ";;;<div>|||";
var lengthy = clean_array.length;
for (var j = 1; j < lengthy; j++) {
if( clean_array[j] ) { output.innerHTML += clean_array[j] + ' '; }
else { output.innerHTML += 'NULL '; }
}
out.innerHTML += "[[[</div>}}}\n";
}
Этот код возвращает:
;;;<div>|||</div>matcha matchb matchc [[[}}}
Может кто-нибудь объяснить, почему это происходит?Работают ли javascript для циклов независимо друг от друга (и, таким образом, заканчиваются с различной скоростью), даже если они вложенные?Это не имеет никакого смысла, однако, почему кто-то разрабатывает такой язык сценариев?
Как мой код может выводить <div/>blah
вместо <div>blah</div>
?
Спасибо