Как добавить изображение перед текстом в элемент таблицы, который нужно найти по классу? - PullRequest
0 голосов
/ 27 апреля 2020

JS:

 function add(){
      while(i < $('.tabledata').length){
          var current_val = $('.tabledata').eq(i).text();
          arr.push(current_val);
          $('.tabledata').eq(i).text() = "<img src='/flags/'" + (flagsarr[current_val].toLowerCase() + '.png') + ' width="20px" style="margin-bottom: 2px;"><b>' + current_val + '</b>';
          i++;
      }
    }
    $(document).ready(function(){ add(); });

current_val - страна. flagsarr [current_val] - код страны: например, ES (Испания). в этом случае я хочу добавить 'es.png' перед текстом 'Испания' в таблице.

Я пытался использовать text(), но понял, что это была функция.

Пожалуйста примечание: в таблице около 200 строк, каждая из которых содержит 5 фрагментов данных (то есть 5 столбцов), первая из которых - страна. Каждый из элементов первого столбца имеет общий класс «tabledata».

Как это исправить?

1 Ответ

0 голосов
/ 27 апреля 2020

Вы можете использовать each для итерации по tabledata и html() вместо text(), чтобы получить его содержимое:

function add() {
    var $tableData = $('.tableData');
    $.each($tableData, function(index, value){
        var current_val = $(value).html();
        arr.push(current_val);
        $(value).html("<img src='/flags/'" + flagsarr[current_val].toLowerCase() + ".png'" + ' width="20px" style="margin-bottom: 2px;"><b>' + current_val + '</b>');
    });
}

$(document).ready(function(){ add(); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...