我想这是一个非常简单的问题。
我想给我的 li 标签一个与其内部图像相匹配的宽度。到目前为止,我已经为每一张图片设置了正确的属性。
$("#slider1 li img").each(function(){
var imageWidth = $(this).width();
var imageHeight = $(this).height();
$(this).attr('width', imageWidth);
$(this).attr('height', imageHeight);
});
但我似乎无法弄清楚如何将 imageWidth 传输到我的 li-tag。我尝试过:
$("#slider1 li").css("width", imageWidth);
但这只是为所有 li 呈现相同的宽度。
感谢您的帮助:)
编辑:我的标记:
<ul id="slider1">
<li><img src="tester.jpg"/></li>
<li><img src="tester2.jpg"/></li>
<li><img src="tester3.jpg"/></li>
<li><img src="tester4.jpg"/></li>
<li><img src="tester.jpg"/></li>
<li><img src="tester2.jpg"/></li>
</ul>
最佳答案
您可以直接调用包含 img
元素的父 li
,如下所示:
$(this).parent('li').css('width',imageWidth);
注意:仅当 img
仅在 li
下深一层时才有效。否则,请使用 .closest('li')
代替。 parent
只会向上遍历一级,而 closest
将继续遍历 DOM 树,直到找到指定的元素。
关于javascript - 获取属性并使用 jquery .each() 的 as 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6537680/