Assuming that's a list of data frames, if you've got the same variables for each element in the list, I'd condense the list into a single data frame, e.g.
library(tidyverse)
var.quali_df <- var.quali %>%
lapply(rownames_to_column, "value") %>%
bind_rows(.id = "key")
or more concisely, if slightly harder to understand,
var.quali_df <- purrr::map_dfr(var.quali, tibble::rownames_to_column, "value", .id = "key")
After that, you can sort however you like with arrange or order or whatnot.
If you want to keep the list structure, use lapply (or purrr::map) in the same way as you did before:
var.quali_sorted <- lapply(var.quali, function(df) df[order(df$n, decreasing = TRUE), ])