jQuery .each() 超过 .wp-caption
当标题存在时,WordPress 会向 .wp-caption
容器添加额外的 10px。我正在尝试使用 jQuery 删除多余的 10px。感谢 这个问题,但我意识到b/c有时一篇文章中有多个图像,我需要使用一些达到 .each()
效果的东西来迭代。下面的代码适用于第一个图像,但随后错误地将第一个图像的 with 应用于第二个图像的容器。如何纠正 .each()
使其正常工作?
jQuery().ready(function() {
jQuery(".wp-caption").each(function(n) {
var width = jQuery(".wp-caption img").width();
jQuery(".wp-caption").width(width);
});
});
示例 w/ javascript on
示例 w/ < a href="http://dev.airve.com/blogx/2011/07/test-wp-caption-no-js/" rel="nofollow noreferrer">javascript 关闭
更新:下面最简化的解决方案:
jQuery().ready(function( $ ) {
$(".wp-caption").width(function() {
return $('img', this).width();
});
});
或者用 jQuery
替换 $
以防止冲突:
jQuery().ready(function( jQuery ) {
jQuery(".wp-caption").width(function() {
return jQuery('img', this).width();
});
});
两者都有效! =)
WordPress add an extra 10px to the .wp-caption
container when a caption in present. I'm trying to use jQuery to remove the extra 10px. I've been able to do this thanks to the answers in this question, but I realized that b/c there are sometimes multiple images in a post, I need to use something to the effect of .each()
to iterate. The code below works for the first image but then wrongly applies the first image's with to the container of the second image. How can I correct the .each()
to work properly?
jQuery().ready(function() {
jQuery(".wp-caption").each(function(n) {
var width = jQuery(".wp-caption img").width();
jQuery(".wp-caption").width(width);
});
});
Example w/ javascript on
Example w/ javascript off
Update: The most streamlined solution from below:
jQuery().ready(function( $ ) {
$(".wp-caption").width(function() {
return $('img', this).width();
});
});
Or substituting $
with jQuery
to prevent conflicts:
jQuery().ready(function( jQuery ) {
jQuery(".wp-caption").width(function() {
return jQuery('img', this).width();
});
});
Both work! =)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
this
是对.each()
中当前元素的引用。...所以从
this
开始,您使用find()
[docs] 方法获取后代及其
width()
。您还可以直接将函数传递给
width()
,它会为您进行迭代。...这里,函数的返回值将是设置为当前
.wp-caption
的宽度。编辑:更新为在
.ready()
处理程序中使用通用$
引用。this
is a reference to the current element in the.each()
....so from
this
, you use thefind()
[docs] method to get the descendant<img>
, and itswidth()
.You could also pass a function directly to
width()
, and it will iterate for you....here, the return value of the function will be the width set to the current
.wp-caption
.EDIT: Updated to use the common
$
reference inside the.ready()
handler.