91³Ô¹ÏÍø

Watch CBS News

Democrat Tom Malinowski concedes to Analilia Mejia in primary for N.J. Gov. Mikie Sherrill's former House seat

Former Rep. Tom Malinowski has conceded last week's New Jersey special election to fill Gov. Mikie Sherrill's congressional seat

Malinowski was one of 11 candidates on the Democratic ballot for the 11th Congressional District. He had been neck-and-neck with Analilia Mejia. 

Mejia, who held a slim lead over Malinowski, is expected to host a news conference later Tuesday afternoon with supporters.

"I congratulate Analilia Mejia on her hard won victory in the NJ-11 special primary. I look forward to supporting her in the April general election. It is essential that we send a Democrat to Washington to fill this seat, not a rubber stamp for Donald Trump," Malinowski said in his concession. "I am proud of the joyful and substantive campaign my team and I ran, and am immensely grateful to the volunteers and staff who made it possible." 

A crowded field of 11 candidates ran in the Democratic primary seeking the 91³Ô¹ÏÍø for the district, which covers parts of Morris, Essex and Passaic Counties. 

Mejia will face Republican candidate Joe Hathaway, the mayor of Randolph, on April 16. 

Mejia previously worked for Sen. Bernie Sanders during his 2020  presidential bid, and was endorsed both by Sanders and Rep. Alexandria Ocasio-Cortez. 

Gov. Mikie Sherrill said she's spoken with Mejia and congratulated her. 

"I've known Analilia for years — I've seen her dedication to expanding opportunity and fighting for working people. I know she will be a great partner in Congress whether it is fighting for the Gateway Tunnel or to protect our Constitutional rights," Sherrill . 

Sen. Cory Booker congratulated Mejia, saying the district "deserves a representative who will stand up against the harm Trump and Republicans are doing to our state." 

"I saw the grassroots energy up close when I campaigned with her. This moment is seismic because it proves, again, that when we bet on everyday people, everyday people win," Rep. Adriano Espaillat said. "The people spoke—and they moved the ground beneath our politics. 

Espaillat called Mejia a "proven progressive who has done the work." 

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });