Hats & Hair Accessories

Show filters
Sort:
Size
Color
Price
All filters
Sort
Loading...
tag of the document. This will help to improve the load of the images // during color swatches interaction on PLP const preloadBackground = (entries, observer) => { entries.forEach(async (entry) => { if (entry.isIntersecting) { const swatch = entry.target; const images = swatch.dataset.varimg.split(','); images.forEach((img, index) => { // preload image const link = document.createElement('link'); link.href = buildSrc(img); link.imagesrcset = getSrcset(img); link.imagesizes = cssImageMediaCondition; link.rel = 'preload'; link.as = 'image'; document.getElementsByTagName('head')[0].appendChild(link); }); swatch.removeAttribute('data-varimg'); switchObserver.unobserve(swatch); } }); }; const switchObserver = new IntersectionObserver(preloadBackground, { root: null, // Default is the viewport rootMargin: '30px', threshold: 0.05, // Load image when 10% of the div is visible }); // Sort options function getPageParam() { const urlParams = new URLSearchParams(window.location.search); const pageParam = urlParams.get('page'); return pageParam ? parseInt(pageParam, 10) : 1; } domLoadedPage = getPageParam(); setupSortDropdown('.fs_sort_by_wrap_desktop', '.fs_sort_by_options_desktop', '.fs_sort_by_select_desktop'); const sortBySelect = document.getElementById('sortByDesktop'); let sortByValue = getSortBy(); // call the function and store the returned value sortBySelect.value = sortByValue; // update the desktop dropdown value on page load // update sort mobile dropdown value on page load const validSortOptions = ['price_min_to_max', 'price_max_to_min', 'creation_date', 'relevency']; sortByValue = validSortOptions.includes(sortByValue) ? sortByValue : 'relevency'; const inputField = document.querySelector(`form [data-value="${sortByValue}"]`); if (inputField) { inputField.checked = true; // update the value of the option } else { console.error(`No radio button found with data-value="${sortByValue}"`); } const form = document.getElementById('sortForm'); if (form) { form.addEventListener('change', (event) => { if (event.target.name === 'sort') { const selectedValue = event.target.getAttribute('data-value'); if (selectedValue && validSortOptions.includes(selectedValue)) { setUrlParam('sortBy', selectedValue, true); resetPageAndScroll(); updateOtherDropdown(selectedValue); } } }); } updateOtherDropdown(getSortBy()); if (sortBySelect) { sortBySelect.addEventListener('change', function () { if (sortBySelect.value && validSortOptions.includes(sortBySelect.value)) { setUrlParam('sortBy', sortBySelect.value, true); } }); } // Description 'read more' function toggleReadMore(button) { const container = button.parentNode; const isExpanded = container.getAttribute('aria-expanded') === 'true'; container.setAttribute('aria-expanded', !isExpanded); if (isExpanded) { button.querySelector('.button-text').textContent = 'more'; } else { button.querySelector('.button-text').textContent = 'Show less'; } } function visibleReadMore() { const toggleButtons = document.querySelectorAll('.fs_collection_top_toggle'); toggleButtons.forEach(button => { const description_children = button.previousElementSibling.children; let description_scroll_width = 0; let description_client_width = 0; for(const child of description_children) { description_scroll_width += child.scrollWidth; description_client_width += child.clientWidth; }; button.style.display = (description_scroll_width > description_client_width) ? 'block' : 'none'; }); } window.addEventListener('DOMContentLoaded', visibleReadMore); // category pills GTM const categories = document.querySelectorAll('.category-pills__pill'); let category; let categoryHandle; let categoryId; const pushCategoryPills = (category, categoryHandle, categoryId, typeCategory) => { if (category && categoryHandle && categoryId && typeCategory) { const categoryPills = { event: `categoryPills`, category: category, categoryHandle: categoryHandle, categoryId: categoryId, typeCategory: typeCategory }; window.dataLayer.push(categoryPills); } } categories?.forEach(category => { category.addEventListener('click', function(e) { try { category = e.currentTarget.getAttribute('data-category'); categoryHandle = e.currentTarget.getAttribute('data-collection-handle'); categoryId = e.currentTarget.getAttribute('data-collection-id'); typeCategory = e.currentTarget.getAttribute('data-type-category'); pushCategoryPills(category, categoryHandle, categoryId, typeCategory); } catch (error) { console.error('Error in category click event:', error); } }) })

Product Recommendations

Hats & Hair Accessories: Top Off Every Look with Style

Caps & Cowboy Hats

Upgrade your outfit in an instant with baseball caps featuring trendy or sassy scripts, or go bold in faux suede cowboy hats designed for that free-spirited flair. These standout pieces balance function and fashion, giving you cool coverage and on-point attitude.

Satin Bows & Berets

Channel a touch of Parisian chic with satin bows and classic berets—perfect for adding a feminine finish to any ensemble. Embellished with rhinestones or faux pearls, these hair bows and berets bring just the right amount of sparkle to your everyday style.

Headbands, Clips & Hair Ties

Keep flyaways in check with dainty headbands or go playful with fruit hair clips and embellished hair ties. From sleek hair clips to rhinestone-studded headbands, these accessories are the ideal way to elevate basic hair into a statement-making moment.

Complete Your Look

Whether you’re rocking a baseball cap on the go, styling sleek hair clips for a night out, or topping off a sundress with a beret, Windsor’s hats and hair accessories collection has everything you need. Shop all Windsor fashion accessories online or in-store and finish every look with confidence.

  • Glam Girl Gone West Rhinestone Cowboy Hat

    This eye-catching cowboy hat is sure to make a statement! Featuring a unique rhinestone fringe trim, this faux wool cowboy hat will bring out the inner cowgirl in you. Complete the look in a glam bustier for a bachelorette or country concert!

    Fit & Features

    • Rhinestone fringe trim
    • Classic cowboy hat design
    • Faux wool material

    Style Number/Barcode: 07302-1578

    Category Name: Hats & Hair Accessories

    Price: $17.97 $36.90

    On Sale: Yes

    Availability: Out of Stock

  • Corduroy Cabbie Hat

    Keep things trendy this fall with this style staple! The cabbie hat has a braided leather accent across the front and is composed of a corduroy material with a black woven lining.

    Style Number/Barcode: 07302-0994

    Category Name: Hats & Hair Accessories

    Price: $12.90

    Availability: Out of Stock

    Product Badge:
    • Online Only
  • Aspire To Retire Baseball Cap

    Big work-life balance energy. This baseball cap gives chill girl vibes with its cheeky embroidered quote—perfect for your next coffee run, beach day, or off-duty fit pic.

    Fit & Features

    • Soft cotton material
    • Classic curved brim
    • Embroidered Aspire to Retire graphic on front
    • Adjustable back strap for a comfy fit

    Style Number/Barcode: 07302-000037

    Category Name: Hats & Hair Accessories

    Price: $15.90

    Availability: In Stock

    Available Color: BEIGE

    Available Size: NS

    Product Badge:
    • New Arrival