Metoda innerWidth

Metoda innerWidth pozwala uzyskiwać i zmieniać szerokość elementu z uwzględnieniem jego wewnętrznych odstępów. Ważne jest, aby pamiętać, że będziemy uzyskiwać 'obliczoną wartość' szerokości (computed width). Błędy w obliczeniach mogą również występować, jeśli użytkownik zmienia rozmiary strony, a także, jeśli element lub jego rodzic są ukryte. Wartość szerokości nie uwzględnia grubości obramowania elementu.

Składnia

Uzyskaj szerokość elementu. W niektórych przypadkach uzyskane wartości mogą być ułamkowe:

javascript$(selektor).innerWidth();

Aby zmienić szerokość elementu - można przekazać po prostu liczbę (na przykład 400), wtedy jednostki pomiaru będą piksele, albo ciąg znaków, z podaniem jednostek pomiaru (na przykład '10em'):

javascript$(selektor).innerWidth(nowa wartość);

Możemy również zastosować zadaną funkcję do każdego elementu w zestawie. Przy tym pierwszym parametrem funkcja otrzyma numer elementu w zestawie, a drugim parametrem - bieżącą wartość zadanej szerokości dla konkretnego elementu. Wartość this wewnątrz funkcji będzie wskazywać na bieżący element. Wartość szerokości elementu zmieni się na tę, którą zwróci funkcja:

javascript$(selektor).innerWidth(function(numer w zestawie, bieżąca wartość szerokości));

Przykład

Dla porównania wypiszmy informację o szerokości akapitu #test, uzyskanej metodami width i innerWidth:

html<p id="test">text</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);

Zobaczymy różnicę wynoszącą 10px, co jest sumą naszych lewego i prawego wewnętrznych odstępów.

Zobacz też

  • metoda width,
    która pozwala uzyskiwać i zmieniać szerokość elementu
  • metoda outerWidth,
    która pozwala uzyskiwać i zmieniać szerokość elementu, uwzględniając jego odstępy i obramowanie