这件奇怪的事情正在发生,似乎无法解决它。
为了调整屏幕上的ul元素,我需要让它的子宽度。
我试图用下面的函数来做到这一点,但是不是从元素li中获取属性,而是将它放在其他地方。不知道从哪里来。它不完全是窗口,而是接近。当我调整窗口大小时,图形会发生变化,但总是不会超出窗口宽度。
正如您在代码中看到的那样,我正在验证它是否获得了正确的元素。
function adjustTabs() {
var myUl = document.getElementById("tabname");
for (var i = 0; i < myUl.children.length; i++) {
console.log(i); // correct output
console.log(myUl.children[i]); //correct output
console.log('width',myUl.children[i].clientWidth); // wrong output
}
};
$(function () {
adjustTabs();
});
这是上面第二个console.log实例的部分输出,即
的console.log(myUl.children [I]);
li.tab
accessKey: ""
accessKeyLabel: ""
attributes: NamedNodeMap [ class="tab" ]
baseURI: "http://localhost/marques-voiture/BMW"
childElementCount: 3
childNodes: NodeList [ #text, input#tab1, #text, … ]
children: HTMLCollection [ input#tab1, label, div#tab-content1.content ]
classList: DOMTokenList [ "tab" ]
className: "tab"
clientHeight: 29
clientLeft: 0
clientTop: 0
clientWidth: 138
contentEditable: "inherit"
contextMenu: null
.......
所以,对于这个,它应该输出138,但它输出类似1500的东西。它为li元素的所有实例输出相同的数字(在这种情况下为1500)。
任何想法
由于