javascript - 获取属性并使用 jquery .each() 的 as 样式

标签 javascript jquery each

我想这是一个非常简单的问题。

我想给我的 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/

相关文章:

javascript - 什么会导致与 Tipsy 的焦点触发器发生冲突?

javascript - 如何将字符串推送到 typescript 数组?

jquery - 动态追加数据到div

javascript - 使用 each() 进行 jQuery DOM 操作;

javascript - 移动菜单 - 展开和折叠

php - jQuery AJAX 数据类型 html 使用

Javascript 变量 - 需要一个变量

javascript - DOM 查找 ID 返回未定义

javascript - 如何在 jQuery 中按最近日期时间重新排列数据属性上的子 div?

javascript - 使用字符串访问 Javascript 中的对象