Método innerWidth

O método innerWidth permite obter e alterar a largura de um elemento levando em consideração seus preenchimentos internos. É importante lembrar que obteremos o 'valor calculado' da largura (computed width). Erros de cálculo também podem ocorrer se o usuário alterar o tamanho da página, ou se o elemento ou seu elemento pai estiverem ocultos. O valor da largura não considera a espessura da borda do elemento.

Sintaxe

Obter a largura do elemento. Em alguns casos, os valores obtidos podem ser fracionários:

javascript$(seletor).innerWidth();

Para alterar a largura do elemento - você pode passar apenas um número (por exemplo, 400), então as unidades de medida serão pixels, ou uma string, com a especificação das unidades de medida (por exemplo, '10em'):

javascript$(seletor).innerWidth(novo valor);

Também podemos aplicar uma determinada função a cada elemento no conjunto. Neste caso, o primeiro parâmetro da função receberá o índice do elemento no conjunto, e o segundo parâmetro - o valor atual da largura definida para o elemento específico. O valor this dentro da função irá apontar para o elemento atual. O valor da largura do elemento mudará para aquele retornado pela função:

javascript$(seletor).innerWidth(function(índice no conjunto, valor atual da largura));

Exemplo

Vamos, para comparação, exibir informações sobre a largura do parágrafo #test, obtida pelos métodos width e innerWidth:

html<p id="test">texto</p>
<p id="out1"></p>
<p id="out2"></p>
cssp {
  margin: 10px;
  padding: 5px;
  border: 2px solid blue;
}
javascriptlet w1 = $('#test').width();
let w2 = $('#test').innerWidth();

$('#out1').text(w1);
$('#out2').text(w2);

Veremos uma diferença de 10px, que é a soma dos nossos preenchimentos internos esquerdo e direito.

Veja também

  • método width,
    que permite obter e alterar a largura de um elemento
  • método outerWidth,
    que permite obter e alterar a largura de um elemento, considerando seus preenchimentos e borda