изменить цвет на всей строке - PullRequest
0 голосов
/ 04 августа 2020

Я пишу таблицу так:

tbody.append(
 $(`<tr class="table__row" id="${ Ida }, ${ Paraa }" style="font-weight: ${ Stat != '0' ? 'bold' : 'normal' }; font-size: 90%">`).on("click", "td", marld)
    .append($(`<td class="table__content" data-heading="De">`).append(data[i][1]))
    .append($(`<td class="table__content" data-heading="Tipo">`).append(data[i][8]))
    .append($(`<td class="apagar table__content" data-heading="Assunto" data-alerta="${ Ida }, ${ Paraa }">`).append(data[i][2]))
    .append($(`<td class="table__content" data-heading="Conteúdo">`).append(data[i][3]))
    .append($(`<td class="table__content" data-heading="Estado">`).append(data[i][4]))
    .append($(`<td class="table__content" data-heading="Recebido">`).append(data[i][5]))
)

Затем я использую эту функцию, чтобы вставить ее в таблицу, и, если я верну ее, меняю цвет строки с полужирного на нормальный:

function marld(){
    var ite_id = []; 
    ite_id1 = $(this).parents("tr").attr("id");
    
    $(".colorir").each(function(){ //percorre todos os tr que possui a classe colorir
        ite_id.push(ite_id1); //adiciona o id da linha ao array
    })

    $.ajax({
        url: './marcaler',
        type: 'POST',
        cache: false,
        data: {ite_id:ite_id},
        error: function(){

        },
        success: (result) => // *** Arrow function
        { 
            if(result != ''){
                $(this).css("font-weight", "normal") // *** Use `this`
            }
        }
    });      
}  

Работает, но есть проблема, которую я хочу исправить.

Как бы то ни было, меняется только столбец, который я нажимаю.

Я хочу нажать на один столбцов, чтобы преобразовать всю строку в нормальное состояние.

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

Попробуйте заменить

$(this).css("font-weight", "normal")

на

$(this).parent().css("font-weight", "normal")

0 голосов
/ 04 августа 2020

Вам необходимо изменить стиль font-weight для строки, а не для ячейки, а marld, примененный к ячейке (из-за on("click", "td", marld)).

Итак, здесь this равно ячейке, которую мы щелкнули:

$(this).css("font-weight", "normal")

Например, вы можете go на 1 уровень выше с помощью parent():

$(this).parent().css("font-weight", "normal")

Поскольку родительский элемент для <td> - <tr>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...