Как построить динамический HTML с помощью forloop

Я хочу динамически создать таблицу, некоторые из которых имеют ссылки на другие URL-адреса с помощью цикла, обратите внимание: внутри каждого я заполняю динамический HTML, который имеет динамические значения, которые заполняются из массива. Мой код приведен ниже. Когда я запускаю этот код, js возвращает массив "неожиданный токен" для "я", я пробовал это время с тоже… Ошибка снова та же. Помоги мне уродам..

html += '<tr class="' + (i % 2 == 0 ? 'grid_color' : '') + '" data-type="record"  data-record-id="' + records[i].id + '" data-row-index="' + i + '">'

+ '<td data-table-col="16" title="' + Samples.htmlEntities(records[i].name_id) + '">' +
for (i = 0; i < nameSplit.length; i++) {
    if (nameSplit[i] != "None") {
        name = nameSplit[i].split(".");
        name = name.shift();
        '<a target = "_blank" href="http://www.google.com/' + name + '">' + name.substr(0, 10 / nameSplit.length) + (name.length > 10 / nameSplit.length ? '...' : '') + '</a>'
    } else {
        if (i != nameSplit.length - 1) {
            "|";
        }
    } else {
        if (i != nameSplit.length - 1) "None".concat("|");
        else "None";
    }
}
}
'</td>'

2 ответа

Решение

Я пытался исправить ваши отступы и формат кода, но это было просто нечитаемо для меня. Но в любом случае, я сделаю это в качестве примера, вы адаптируете его к вашим конкретным потребностям.

var html = "<table>";
for(var i = 0; i<someCondition; i++){
  html +="<tr><td>Cell 1</td><td>Cell 2</td><tr>";
}
html += "</table>";

ошибка, которую вы получаете, потому что где-то в вашем коде у вас есть что-то вроде ... + for(...) и это не работает, цикл for не возвращается, поэтому он ничего не получает от него.

Вы не можете сделать это таким образом. Если вы добавляете строки вместе, ожидаются строки. Если вы в этот момент напишите код, он будет выглядеть как недопустимая строка, а не как код, который будет генерировать фактическую строку.

Вам нужно поместить весь сценарий перед той частью, где вы добавляете строки в html.
Если вы написали это непосредственно в исходный код html (что является ужасным подходом), вам следует прочитать об основах применения сценариев (хотя, я думаю, вы более опытны, чем это).

Итак: поставьте скрипт перед "html + A + B + ...".

Другие вопросы по тегам