猿问

如何将 THIS 关键字用于在 JQUERY 中没有操作的函数

我在表中有许多具有可变宽度的元素,由其各自父级的数据属性指定:百分比=“10”或百分比=“20”等。如何设置每个元素的宽度取决于其父级的数据属性?


为了清楚起见,这是我的代码:


断续器


<td percent="10"><div class="bar"></div></td>

<td percent="20"><div class="bar"></div></td>

<td percent="30"><div class="bar"></div></td>

爪哇脚本


$('.bar').css('width', $(this).parent().attr('percent')+'%');

当然,$(this)关键字在这里不起作用,因为它不是在事件中定义的。


我怎样才能做到这一点?


守着一只汪
浏览 102回答 1
1回答

素胚勾勒不出你

使用函数参数执行每个元素的代码。$('.bar').css('width', function() {&nbsp; &nbsp; return $(this).parent().attr('percent')+'%';});顺便说一句,您不应该创建非标准属性。如果需要自定义数据,请使用数据属性:<td data-percent="10"><div class="bar"></div></td><td data-percent="20"><div class="bar"></div></td><td data-percent="30"><div class="bar"></div></td>然后使用$(this).parent().data("percent")
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答