Alterar elemento display none de volta ao valor padrão do estilo JS

Eu tenho uma função em JS que oculta o elemento analisado:

function hide(id){
  document.getElementById(id).style.display = "none";
}

Como posso criar uma função que retorne o elemento ao valor do estilo padrão. Por exemplo, uma divdisplay propriedade é"block" como para uma imagem é"inline-block", outros elementos são"inline" ou listas são"list-item" Como posso trazê-los de volta ao estado padrão?

function show(id){
  document.getElementById(id).style.display = "?????";
}

Eu sei como fazê-lo no Jquery, mas não é uma opção.

Em CSS, pode haver estilos para os elementos, incluindostyle:none, que precisam ser substituídos pelo valor padrão.

Como há CSS no meu exemplo, fazendostyle.display = '' elimina o estilo adicionado com JS, mas volta ao estilo adicionado em CSS, quero trazê-lo de volta ao seu valor padrão mesmo antes de atribuir estilos com CSS.

Eu tentei isso, como foi sugerido em um link em um dos comentários:

elem = document.getElementById(id);
var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("display");

mas neste caso'theCSSprop' retorna"none" paradivquando eu espero"block"

Alguma ideia? Obrigado.

questionAnswers(6)

yourAnswerToTheQuestion