Remove popover content with .children().detach() instead of .empty()

Using .empty() is bad because it blows up the content. If you're planning on using it later or swapping it around, you can't. jQuery won't let you reattach the content or rewire events to it. Instead, do .children().detach().

This is a refinement of the fix in #13165.