Я пытаюсь разобрать стихи, чтобы каждая строка была элементом в массиве набора элементов, и каждое слово является элементом внутри этого массива (2 уровня). Я хочу, чтобы каждое слово находилось в промежутке, и (позже) каждая новая строка имела разрыв между ними.Установка значения вложенного цикла возвращает ошибку «e.replace не является функцией»
Я сталкиваюсь с проблемами при прохождении цикла, чтобы изменить значение отдельного слова (плитка [a] [b]) для обертывания в промежутке.
Вот код:
function tilify(){
var tiletext = $(".tile-set").html().trim().replace("<br>"," ").replace(/ +(?=)/g," "); // trimming whitespace and regulating newline format to a double-space
tileset = tiletext.split(" "); // creating an array of lines
for (a in tileset) {
tileset[a] = tileset[a].split(" "); // creating a nested array of words
for (b in tileset[a]) {
tileset[a][b] = "<span class='tile'>" + tileset[a][b] + "</span>"; // returns error
};
};
$(".tile-set").html(tileset);
}
tilify();
Обнаружена ошибка Uncaught TypeError: e.replace is not a function
Я попробовал несколько синтаксиса цикла. Я также попытался избавиться от метода .replace
, который я использую на всякий случай. Он работает, если я обертываю элементы первого массива в тегах span, но не во втором.
У меня есть jquery и jqueryUI работает.
Опять это блок У меня возникли проблемы с:
for (b in tileset[a]) {
tileset[a][b] = "<span class='tile'>" + tileset[a][b] + "</span>"; // returns error
};
Вот тело HTML
<div class='container'>
<p class='tile-set'>
The boot is famous to the earth,
more famous than the dress shoe,
which is famous only to floors.
</p>
</div>
Вы также могли бы разместить html? – DinoMyte
Просто отредактировал его, чтобы включить HTML –