有沒有一種可靠的方式來確定在用document.createElement創建並放入something.appendChild後立即確定元素樹的寬度?元素的offsetWidth或getBoundingClientRect在Firefox和IE中可以正常工作,但在Google Chrome中無法正常工作。它僅適用於setTimeout,但不適用於零超時。通常是200毫秒。我讀過一些地方,訪問offsetWidth觸發重排,但它不在谷歌瀏覽器v47。也許它與這個bug有關:https://code.google.com/p/chromium/issues/detail?id=290399。確定谷歌瀏覽器中新元素的寬度
0
A
回答
0
我從來沒有使用與clientWidth超時:
var div = document.createElement('div');
var body = document.querySelector('body');
body.appendChild(div);
var div_width = div.clientWidth;
div.innerHTML = div_width;
<body></body>
0
你能不能元素的寬度存儲在使用jQuery一個variabele?
0
不知道我是否正確理解了您的問題,但在連接到DOM之前無法獲取元素寬度。 也許你想要做這樣的事情:
var test = document.getElementById('test').clientWidth;
var div = document.createElement('div');
document.getElementById('container').appendChild(div).innerHTML = 'new element';
0
我已經想通了,這是因爲圖像和我通過指定固定尺寸的解決了這個問題。 (這對我的設計來說是不愉快的) IE和Firefox不需要它,可能它們在返回父元素的寬度之前加載圖像。 感謝大家的幫助。
相關問題
- 1. 谷歌瀏覽器檢查元素
- 2. 谷歌瀏覽器中的最大寬度與最大高度
- 3. 谷歌瀏覽器更新
- 4. 谷歌瀏覽器中的iframe高度
- 5. jQuery的 - 在特定的瀏覽器寬度隱藏元素
- 6. 等效寬度:-moz-谷歌瀏覽器中可用
- 7. 下拉寬度在谷歌瀏覽器中不起作用
- 8. 確定元素的寬度
- 9. 谷歌瀏覽器具有不同的寬度
- 10. 谷歌瀏覽器的css圖像最大寬度不一致
- 11. 谷歌瀏覽器的背景梯度
- 12. 什麼是顯示在檢查谷歌瀏覽器的元素選定元素
- 13. 谷歌瀏覽器
- 14. 谷歌瀏覽器
- 15. 谷歌瀏覽器在.NET中的檢查元素
- 16. 使用KineticJS在谷歌瀏覽器中居中畫布元素
- 17. 谷歌瀏覽器28.0全屏API - 不尊重CSS'寬度:100%'
- 18. 谷歌瀏覽器jQuery動畫滯後谷歌瀏覽器
- 19. CSS:絕對元素一直在谷歌瀏覽器中跳躍
- 20. 谷歌瀏覽器的bug的onclick <select>元素
- 21. 通過jQuery中的不同瀏覽器寬度重新定位div通過不同的瀏覽器寬度
- 22. 谷歌瀏覽器的位置:固定
- 23. 瀏覽器寬度的100%寬度div
- 24. 谷歌瀏覽器擴展框架內的訪問元素
- 25. 谷歌瀏覽器的更改元素爲小寫
- 26. 谷歌瀏覽器更新CSS文件
- 27. 如果瀏覽器的元素檢查器顯示元素的寬度爲300px,我能確定它在所有瀏覽器中都是相同的嗎?
- 28. 固定的旋轉元素在谷歌瀏覽器中滾動時消失
- 29. firefox與webkit瀏覽器不同的元素寬度
- 30. 谷歌瀏覽器檢查元素不工作
「但在連接到DOM之前,您無法獲取元素寬度。」謝謝你的好處,但我在閱讀房產之前附加了。 –