如何将li
的宽度应用于a
?这应该在调整大小时发生。
因此,a
始终具有li
宽度。
var parentWidth = $('ul li').parent().width();
var $window = $(window);
$window.resize(function resize() {
$('ul li').each(function () {
if ($(this).closest('a').length == 1) {
parentWidth = $(this).closest('a').css('width').replace('px', '');
}
});
}
答案 0 :(得分:3)
你可以这样做:
var $window = $(window);
$window.resize(function() {
$('ul li').each(function () {
var parentWidth = $(this).width();
if ($(this).find('a').length) {
$(this).find('a').width(parentWidth)
}
});
});
<强> Updated Fiddle 强>
答案 1 :(得分:1)
如果你的锚标签的css属性为“block”,那么应该使锚元素获取它的父容器的宽度。在这种情况下,它是“li” - 默认情况下,它是一个块级元素。
如果要浮动列表元素,请为“li”元素指定宽度(使用css)。然后就像你现在一样,你可以使用“inline-block”给你的锚标签一个宽度(和/或高度)。
答案 2 :(得分:1)
正如dragonslovetaco所说,你真的应该使用CSS - 检查你的更新小提琴:
应用位置:相对于列表项+具有宽度:继承a&#39; s将导致它们复制宽度。
a{background:red;display:inline-block; width:inherit;}
li{position:relative; width:100%;}