JSFiddle - React, Tailwind, and code Playground

by Alexandre Simoes

HTML

<table border="1">
  <tr>
    <td>1.1</td><td>1.2</td><td>1.3</td><td>1.4</td><td>1.5</td>
  </tr>
  <tr>
    <td>2.1</td><td>2.2</td><td>2.3</td><td>2.4</td><td>2.5</td>
  </tr>
  <tr>
    <td>3.1</td><td>3.2</td><td>3.3</td><td>3.4</td><td>3.5</td>
  </tr>
  <tr>
    <td>4.1</td><td>4.2</td><td>4.3</td><td>4.4</td><td>4.5</td>
  </tr>
  <tr>
    <td>5.1</td><td>5.2</td><td>5.3</td><td>5.4</td><td>5.5</td>
  </tr>
</table>

JavaScript

var getRange = function(r1,c1,r2,c2){
	var cells = [];
  $('table tr')
  				.slice(r1-1,r2)
          .each(function(idx, item){
          	cells.push($(item).find('td').slice(c1-1,c2));
          });
  
  return $(cells);
};

getRange(2,2,3,3).each(function(idx,item) {
	$(item).css({ 'background-color': '#f00' }) 
});


//Clt-property-Rn:Rn-Cn:Cn-value
var kReg = /^clt-([a-zA-Z]+)-(\d+):(\d+)-(\d+):(\d+)-(.+)$/i;
var values = kReg.exec('clt-bgc-1:1-3:3-red');
console.log(values);

var cells = [];
$('table tr')
  .slice(1 - 1, 3)
  .each(function (idx, item) {
  cells = cells.concat($(item).find('td').slice(1 - 1, 3).toArray());
});

console.log(cells);