How can I add .attr('colspan', '100') dynamically if only one visible table cell in a row? How can I add .attr('colspan', '100') dynamically if only one visible table cell in a row? wordpress wordpress

How can I add .attr('colspan', '100') dynamically if only one visible table cell in a row?


Here is a script.

    $(document).ready(function () {        $('.curriculum table tr').each(function () {           $('td').each(function () {            var cellText = $.trim($(this).text());            if (cellText.length == 0) {                $(this).remove();            }           });          if ($(this).children("td").length == 1) {            $(this).children("td").attr("colspan", "100")        }        });    });

Codepen


Using colspan = 100 is not a good solution at first. Counting max td count then using it as colspan may be a better idea. If you don't want to hide other cells when there is more then 1 visible cell in a row, you can easly modify this code to achieve it.

$(document).ready(function() {var maxTdCount = 0;  $('.curriculum table tr').each(function() {    $('td').each(function() {      var cellText = $.trim($(this).text());      if (cellText.length == 0) {        $(this).hide();      }    });    if($(this).find("td:visible").length > maxTdCount)    {    maxTdCount = $(this).find("td").length;}  });  $('.curriculum table tr').each(function() {  if($(this).find("td:visible").length == 1)    {    	$(this).find("td").attr("colspan", maxTdCount);    }    });});
td{border:1px solid black}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div class="curriculum"><table>  <tbody>    <tr>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td></tr><tr>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td></td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td></tr><tr>  <td></td>  <td></td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td></td>  <td></td>  <td></td></tr><tr>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td></td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td></td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td></td></tr><tr>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td></td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit</td>  <td></td>    </tr>   </tbody> </table></div>