Jon*_*sen 0 javascript each jquery
我想这是一个非常简单的问题.
我想给我的li-tags一个与其里面的图像相匹配的宽度.到目前为止,我正在为每个人获得正确的图像属性.
$("#slider1 li img").each(function(){
var imageWidth = $(this).width();
var imageHeight = $(this).height();
$(this).attr('width', imageWidth);
$(this).attr('height', imageHeight);
});
Run Code Online (Sandbox Code Playgroud)
但我似乎无法弄清楚我如何将imageWidth转移到我的li-tag.我尝试过:
$("#slider1 li").css("width", imageWidth);
Run Code Online (Sandbox Code Playgroud)
但这只是为所有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>
Run Code Online (Sandbox Code Playgroud)
您可以直接调用li包含该img元素的父级,如下所示:
$(this).parent('li').css('width',imageWidth);
Run Code Online (Sandbox Code Playgroud)
注意:这只有在img深度只有一层的情况下才有效li.否则,请.closest('li')改用.parent将仅遍历一个级别,其中closest将继续遍历DOM树,直到找到指定的元素.