Right now, I have each business just alphabetized and separated with a <hr>.
Would your list example work here?
To reiterate, if it's at all possible, I'd like all of the businesses to stay visible on the page and just rotate or randomly re-order each time the page is refreshed, so they all have an opportunity to get to the top of the page.
1. get a reference to the parent element of the items to be rotated
2. create an array who's members are those you want re-ordered
3. randomize the array
4. append each member of the array to the parent- they will be moved to the end of the parent in a random order or
If the parent contains items that are not to be moved, you can use parent.replaceChild(item, olditem),
but it would be simpler for you to contain them all in a div or list or some other container.
Swapping items requires you to keep track of the item that is replaced.