The everyItem() function returns a collection of items. you need to loop them as well.
var myDoc = app.activeDocument;
// loop pages
for (var p = 0; myDoc.pages.length > p; p++) {
var onepage = myDoc.pages[p];
// loop textframes
for (var tf = 0; tf < onepage.textFrames.length; tf++) {
var onetf = onepage.textFrames[tf];
// loop tables
for (var tb = 0; tb < onetf.tables.length; tb++) {
var onetable = onetf.tables[tb];
// loop cells
for (var t = onetable.cells.length - 1; t >= 0; t--) {
if (onetable.cells[t].contents === "") {
var w = onetable.columns.length;
onetable.cells[t - w].merge(onetable.cells[t]);
}
}
}
}
}