Làm cách nào để tìm chiều rộng hiện tại của <div>
theo cách tương thích trên nhiều trình duyệt mà không cần sử dụng thư viện như jQuery?Cách tìm chiều rộng của div bằng JavaScript thô?
Trả lời
document.getElementById("mydiv").offsetWidth
Điều đó, hoặc 'cientWidth', tôi không biết sự khác biệt thực sự. – JCOC611
'offsetWidth' bao gồm chiều rộng đường viền,' clientWidth' không. – lincolnk
Khi myDiv không có quy tắc CSS nhưng có "chiều rộng" và "chiều cao" được xác định trong thẻ, offsetWidth trả về chiều rộng gốc. Không phải là một vấn đề tôi chỉ cần thêm các quy tắc CSS và nó làm việc tốt. – rob
Bạn cũng có thể tìm kiếm trên DOM sử dụng ClassName. Ví dụ:
document.getElementsByClassName("myDiv")
Điều này sẽ trả về một mảng. Nếu có một tài sản đặc biệt mà bạn đang quan tâm Ví dụ:.
var divWidth = document.getElementsByClassName("myDiv")[0].clientWidth;
divWidth
bây giờ sẽ bằng với chiều rộng của phần tử đầu tiên trong mảng div của bạn.
Bạn có thể sử dụng clientWidth
hoặc offsetWidth
Mozilla developer network reference
Nó sẽ như thế nào:
document.getElementById("yourDiv").clientWidth; // returns number, like 728
hoặc với biên giới width:
document.getElementById("yourDiv").offsetWidth; // 728 + borders width
cuộc gọi dưới phương pháp trên thẻ div hoặc cơ onclick =" show (sự kiện); " chương trình chức năng (sự kiện) {
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();
}
}
Tất cả câu trả lời là đúng, nhưng tôi vẫn muốn cung cấp một số lựa chọn thay thế khác có thể hoạt động.
Nếu bạn đang tìm chiều rộng được chỉ định (bỏ qua phần đệm, lề, v.v.), bạn có thể sử dụng.
getComputedStyle(element).width; //returns value in px like "727.7px"
getComputedStyle cho phép bạn truy cập tất cả các kiểu của các yếu tố đó. Ví dụ: padding, paddingLeft, margin, border-top-left-radius và vân vân.
Điều này sẽ không hoạt động trong IE 6-8. –
Thực ra, bạn không phải sử dụng document.getElementById("mydiv")
.
Bạn chỉ có thể sử dụng id của div, như:
var w = mydiv.clientWidth;
hoặc
var w = mydiv.offsetWidth;
, vv
- 1. Đặt chiều rộng và chiều cao DIV trong JavaScript
- 2. Làm trung tâm DIV bên trong DIV rộng mở rộng với chiều rộng nội dung
- 3. Cách đặt kích thước tự động div gốc cho chiều rộng của div con của nó
- 4. Lấy chiều rộng của hình ảnh được tải bằng JavaScript
- 5. Bảng chiều rộng 100% tràn div container
- 6. Xác định chiều rộng của chiều rộng cột rộng CSS3 DIV động cố định chiều rộng cột cố định
- 7. CSS - div mẹ không mở rộng thành chiều rộng/chiều cao của con
- 8. jQuery: thực tế div chiều rộng
- 9. Đặt chiều rộng và chiều rộng DIV Vùng chứa của Google Maps 100%
- 10. Hai cột div. Chiều rộng động của một
- 11. Toàn bộ chiều rộng màn hình div
- 12. Làm thế nào tôi có thể nhận được chiều rộng của div, được viết bằng CSS
- 13. 100% Chiều rộng màn hình trên div lồng nhau trong chiều rộng cố định div css
- 14. nhận được chiều rộng của một phần tử div
- 15. Tôi làm cách nào để đặt chiều rộng tùy chỉnh trên iframe tìm kiếm của Google?
- 16. css 100% chiều rộng div không chiếm toàn bộ chiều rộng của bố mẹ
- 17. Đặt chiều cao và chiều rộng Div (#Map) thành 100%
- 18. Làm cho nội dung vừa với chiều rộng của div
- 19. Không thể tính chiều rộng của một div ẩn
- 20. Làm cách nào để có chiều rộng/chiều rộng của bố cục phù hợp với div tuyệt đối?
- 21. Tôi làm cách nào để tìm chiều rộng của hình ảnh bằng cách sử dụng PHP?
- 22. Mở rộng chiều rộng div dựa trên con của nó rộng
- 23. làm khoảng tag cover toàn bộ chiều rộng của div
- 24. Chiều rộng CSS div không hoạt động
- 25. Căn giữa div chiều rộng tự động?
- 26. Mở rộng div theo chiều dọc
- 27. CSS - chiều rộng cố định span/div
- 28. Làm cách nào để giới hạn chiều rộng div?
- 29. Đặt lại tỷ lệ/chiều rộng/thu phóng của Safari trên iPhone bằng JavaScript/onorientationchange
- 30. một div rộng với chiều rộng không giới hạn
1 cho "no jQuery" comment :) – Zlatko
trùng lặp có thể xảy ra của [Understanding offsetWidth , clientWidth, scrollWidth và -Height, tương ứng] (http://stackoverflow.com/questions/21064101/understanding-offsetwidth-clientwidth-scrollwidth-and-height-respectively) (mà, quả thực, đã được hỏi nhiều sau, nhưng vẫn có ** câu trả lời phức tạp hơn **). – Keelan