7 ответов:
можно использовать
clientWidthилиoffsetWidthMozilla developer network referenceэто будет так:
document.getElementById("yourDiv").clientWidth; // returns number, like 728или с шириной границ:
document.getElementById("yourDiv").offsetWidth; // 728 + borders width
все ответы верны, но я все еще хочу дать некоторые другие альтернативы, которые могут работать.
Если вы ищете назначенную ширину (игнорируя заполнение, поля и так далее), вы можете использовать.
getComputedStyle(element).width; //returns value in px like "727.7px"getComputedStyle позволяет получить доступ ко всем стилям этих элементов. Например: заполнение, paddingLeft, margin, border-top-left-radius и так далее.
вы также можете искать DOM с помощью ClassName. Например:
document.getElementsByClassName("myDiv")это вернет массив. Если есть одно конкретное свойство, которое вас интересует. Например:
var divWidth = document.getElementsByClassName("myDiv")[0].clientWidth;
divWidthтеперь будет равна ширине первого элемента в массиве div.
на самом деле, вы не должны использовать
document.getElementById("mydiv").
Вы можете просто использовать идентификатор div, например:var w = mydiv.clientWidth;
илиvar w = mydiv.offsetWidth;
так далее.
вызов метода ниже на div или body tag onclick= " show (event);" функция show (event) {
var x = event.clientX; var y = event.clientY; var ele = document.getElementById("tt"); var width = ele.offsetWidth; var height = ele.offsetHeight; var half=(width/2); if(x>half) { // alert('right click'); gallery.next(); } else { // alert('left click'); gallery.prev(); } }
правильный способ получения вычисленного стиля-это ожидание отображения страницы. Это можно сделать следующим образом. Обратите внимание на тайм-аут при получении
autoзначения.function getStyleInfo() { setTimeout(function() { const style = window.getComputedStyle(document.getElementById('__root__')); if (style.height == 'auto') { getStyleInfo(); } // IF we got here we can do actual business logic staff console.log(style.height, style.width); }, 100); }; window.onload=function() { getStyleInfo(); };если вы используете только
window.onload=function() { var computedStyle = window.getComputedStyle(document.getElementById('__root__')); }вы можете узнать
autoзначения для ширины и высоты, потому что браузеры не отображаются до полной загрузки выполняется.
Comments