
Декількома словами
Незважаючи на видимі труднощі та розчарування виборців, Демократична партія США показує неочікувано високі результати на спеціальних та позачергових виборах, що свідчить про збереження мобілізації її електорату, особливо серед найбільш активних громадян.
Може здатися, що Демократичній партії потрібно докласти чимало зусиль, перш ніж вона знову зможе перемагати на виборах. Її програма виглядає вичерпаною. Виборці розчаровані. Політикам важко організувати рішучу опозицію Дональду Трампу.
Але результати виборів — сьогоднішніх та багатьох наступних вівторків протягом найближчих років — можуть змусити забути про проблеми партії.
Вже зараз демократи демонструють хороші результати на спеціальних виборах, що відбулися після інавгурації Трампа. У середньому, їхні показники на 12 відсоткових пунктів перевищують результати Камали Гарріс в 11 спеціальних виборах, згідно з зібраними даними. Це включає перемогу у двох традиційно республіканських округах в Айові та Пенсильванії.
Схоже, що ця тенденція до посилення демократів продовжиться і сьогодні, коли виборці в Першому та Шостому округах Флориди підуть на виборчі дільниці, щоб обрати заміну Метту Гетцу та Майклу Вальцу, раднику з національної безпеки. Не очікується, що демократи переможуть у цих перегонах, але все вказує на конкурентну боротьбу в Шостому окрузі, де Трамп переміг із перевагою в 30 пунктів у листопаді. Ще більше підстав для оптимізму демократи мають на планових виборах до Верховного суду Вісконсину.
Якщо ви давно стежите за політикою, сила демократів на спеціальних та позачергових виборах не стане для вас цілковитою несподіванкою. Протягом ери Трампа демократи досягали успіху на виборах з низькою явкою, оскільки партія, схоже, має найкращі результати серед найбільш заангажованих, постійних виборців. Ця сила частково пояснюється перевагами партії серед випускників коледжів, але ця перевага виходить навіть за межі демографії.
#g-nate-wisc-box {
max-width:600px;
}
#g-nate-wisc-box ,
#g-nate-wisc-box .g-artboard {
margin:0 auto;
}
#g-nate-wisc-box p {
margin:0;
}
#g-nate-wisc-box .g-aiAbs {
position:absolute;
}
#g-nate-wisc-box .g-aiImg {
position:absolute;
top:0;
display:block;
width:100% !important;
}
#g-nate-wisc-box .g-aiSymbol {
position: absolute;
box-sizing: border-box;
}
#g-nate-wisc-box .g-aiPointText p { white-space: nowrap; }
#g-nate-wisc-375 {
position:relative;
overflow:hidden;
}
#g-nate-wisc-375 p {
font-family:nyt-franklin,arial,helvetica,sans-serif;
font-weight:regular;
line-height:20px;
opacity:1;
letter-spacing:0em;
font-size:17px;
text-align:left;
color:rgb(0,0,0);
text-transform:none;
padding-bottom:0;
padding-top:0;
mix-blend-mode:normal;
font-style:normal;
height:auto;
position:static;
}
#g-nate-wisc-375 .g-pstyle0 {
font-weight:700;
}
#g-nate-wisc-375 .g-pstyle1 {
font-weight:300;
line-height:15px;
height:15px;
letter-spacing:0.025em;
font-size:12px;
top:1px;
position:relative;
}
#g-nate-wisc-375 .g-pstyle2 {
font-weight:300;
line-height:15px;
height:15px;
letter-spacing:0.025em;
font-size:12px;
text-align:center;
top:1px;
position:relative;
}
#g-nate-wisc-375 .g-pstyle3 {
font-weight:300;
height:20px;
color:rgb(51,51,51);
top:1.4px;
position:relative;
}
#g-nate-wisc-375 .g-pstyle4 {
font-weight:500;
line-height:17px;
height:17px;
font-size:14px;
color:rgb(255,255,255);
top:1.1px;
position:relative;
}
#g-nate-wisc-375 .g-pstyle5 {
font-weight:500;
line-height:15px;
height:15px;
font-size:15px;
text-align:center;
color:rgb(19,117,183);
top:1.2px;
position:relative;
}
#g-nate-wisc-600 {
position:relative;
overflow:hidden;
}
#g-nate-wisc-600 p {
font-family:nyt-franklin,arial,helvetica,sans-serif;
font-weight:regular;
line-height:23px;
opacity:1;
letter-spacing:0em;
font-size:19px;
text-align:left;
color:rgb(0,0,0);
text-transform:none;
padding-bottom:0;
padding-top:0;
mix-blend-mode:normal;
font-style:normal;
height:auto;
position:static;
}
#g-nate-wisc-600 .g-pstyle0 {
font-weight:700;
}
#g-nate-wisc-600 .g-pstyle1 {
font-weight:300;
line-height:15px;
height:15px;
letter-spacing:0.025em;
font-size:13px;
top:1px;
position:relative;
}
#g-nate-wisc-600 .g-pstyle2 {
font-weight:300;
line-height:15px;
height:15px;
letter-spacing:0.025em;
font-size:13px;
text-align:center;
top:1px;
position:relative;
}
#g-nate-wisc-600 .g-pstyle3 {
font-weight:300;
line-height:20px;
height:20px;
font-size:17px;
color:rgb(51,51,51);
top:1.4px;
position:relative;
}
#g-nate-wisc-600 .g-pstyle4 {
font-weight:500;
line-height:17px;
height:17px;
font-size:14px;
color:rgb(255,255,255);
top:1.1px;
position:relative;
}
#g-nate-wisc-600 .g-pstyle5 {
font-weight:500;
line-height:15px;
height:15px;
font-size:15px;
text-align:center;
color:rgb(19,117,183);
top:1.2px;
position:relative;
}
Оціночна підтримка Гарріс серед виборців на попередніх виборах до Верховного суду Вісконсину
РІК
ОЦ. ЧАСТКА ГОЛОСІВ ЗА ГАРРІС
РЕЗУЛЬТАТ 2024
2023
54%
2020
57%
2019
52%
2018
53%
49.6% Дем.
Оціночна підтримка Гарріс серед виборців на попередніх виборах до Верховного суду Вісконсину
РІК
ОЦ. ЧАСТКА ГОЛОСІВ ЗА ГАРРІС
РЕЗУЛЬТАТ 2024
2023
54%
2020
57%
2019
52%
2018
53%
49.6% Дем.
(function (containerId, opts) {
var nameSpace = opts.namespace || '';
var containers = findContainers(containerId);
containers.forEach(resize);
function resize(container) {
var onResize = throttle(update, 200);
var waiting = !!window.IntersectionObserver;
var observer;
update();
document.addEventListener('DOMContentLoaded', update);
window.addEventListener('resize', onResize);
// NYT Scoop-specific code
if (opts.setup) {
opts.setup(container).on('cleanup', cleanup);
}
function cleanup() {
document.removeEventListener('DOMContentLoaded', update);
window.removeEventListener('resize', onResize);
if (observer) observer.disconnect();
}
function update() {
var artboards = selectChildren('.' + nameSpace + 'artboard[data-min-width]', container),
width = Math.round(container.getBoundingClientRect().width);
// Set artboard visibility based on container width
artboards.forEach(function(el) {
var minwidth = el.getAttribute('data-min-width'),
maxwidth = el.getAttribute('data-max-width');
if (+minwidth <= width && (+maxwidth >= width || maxwidth === null)) {
if (!waiting) {
selectChildren('.' + nameSpace + 'aiImg', el).forEach(updateImgSrc);
selectChildren('video', el).forEach(updateVideoSrc);
}
el.style.display = 'block';
} else {
el.style.display = 'none';
}
});
// Initialize lazy loading on first call
if (waiting && !observer) {
if (elementInView(container)) {
waiting = false;
update();
} else {
observer = new IntersectionObserver(onIntersectionChange, {rootMargin: "800px"});
observer.observe(container);
}
}
}
function onIntersectionChange(entries) {
// There may be multiple entries relating to the same container
// (captured at different times)
var isIntersecting = entries.reduce(function(memo, entry) {
return memo || entry.isIntersecting;
}, false);
if (isIntersecting) {
waiting = false;
// update: don't remove -- we need the observer to trigger an update
// when a hidden map becomes visible after user interaction
// (e.g. when an accordion menu or tab opens)
// observer.disconnect();
// observer = null;
update();
}
}
}
function findContainers(id) {
// support duplicate ids on the page
return selectChildren('.ai2-responsive', document).filter(function(el) {
if (el.getAttribute('id') != id) return false;
if (el.classList.contains('ai2-resizer')) return false;
el.classList.add('ai2-resizer');
return true;
});
}
// Replace blank placeholder image with actual image
function updateImgSrc(img) {
var src = img.getAttribute('data-src');
if (src && img.getAttribute('src') != src) {
img.setAttribute('src', src);
}
}
function updateVideoSrc(el) {
var src = el.getAttribute('data-src');
if (src && !el.hasAttribute('src')) {
el.setAttribute('src', src);
}
}
function elementInView(el) {
var bounds = el.getBoundingClientRect();
return bounds.top < window.innerHeight && bounds.bottom > 0;
}
function selectChildren(selector, parent) {
return parent ? Array.prototype.slice.call(parent.querySelectorAll(selector)) : [];
}
// based on underscore.js
function throttle(func, wait) {
var timeout = null, previous = 0;
function run() {
previous = Date.now();
timeout = null;
func();
}
return function() {
var remaining = wait - (Date.now() - previous);
if (remaining <= 0 || remaining > wait) {
clearTimeout(timeout);
run();
} else if (!timeout) {
timeout = setTimeout(run, remaining);
}
};
}
})("g-nate-wisc-box", {namespace: "g-", setup: window.setupInteractive || window.getComponent});