Individual Apple AirTags are on sale for under $25. | Photo by Vjeran Pavic / The Verge

While much of our Black Friday coverage spans a wide range of prices, itā€™s no secret that the biggest savings are usually on the expensive, showy stuff like TVs. But if youā€™ve got a lengthy list for your upcoming holiday gift exchange, or you just need to stretch your budget a little more this year, look no further than these Black Friday deals under $25.

While anyone can find cheap crap on sale during Black Friday (just open up Amazonā€™s page and count all the items from brands youā€™ve never heard of), weā€™re compiling the best budget-friendly deals we know shouldnā€™t steer you wrong. These are items weā€™ve tried or even tested ourselves ā€” which is why we can say an Apple AirTag tracker for $24.98 is totally worth it, or why the latest Amazon Echo Dot smart speaker for $24.99 with a free Hue smart bulb is kind of a steal (if you donā€™t mind living with Alexa).

Call them stocking stuffers or impulse-buys if youā€™d like, but nothing beats a great deal on something affordable thatā€™s actually good.

“;
} else if(item.id[0] == “s” && mainHeadsOnly == false) {
html+=”

“;
}
}
});

if(subHeadsOnly == true) {
tableOfContents.classList.add(‘subheads-only’);
}

if(collapsible == true && subHeadsOnly == false & mainHeadsOnly == false) {
tableOfContents.classList.add(‘expandable’);
}

mainHeads.forEach(item => {
item.innerHTML = item.innerHTML+returnString;
});

subHeads.forEach(item => {
if(mainHeadsOnly == false) {
item.innerHTML = item.innerHTML+returnString;
}
});

tableOfContents.innerHTML = html;

document.querySelectorAll(‘.toc-link’).forEach(item => {
item.tabIndex = “0”;
var target = item.dataset.target
item.addEventListener(‘click’, (e) => {
e.preventDefault();
document.querySelector(target).scrollIntoView();
item.blur();
});
item.addEventListener(‘keydown’, e => {
if(e.code == “Enter”) {
e.preventDefault();
document.querySelector(target).scrollIntoView();
item.blur();
}
});
});

document.querySelectorAll(‘.polygon-table-of-contents .expand’).forEach(item => {
var target = item.dataset.target
var subheads = document.querySelectorAll(‘[data-grouping=”‘+target+'”]’);
if (subheads.length === 0) {
item.classList.add(‘hidden’);
}
item.addEventListener(‘click’, (e) => {
e.preventDefault();
expand(target);
});
});

});

By

Leave a Reply

X