jQuery .each() over .wp-caption
jQuery .each() over .wp-caption
WordPress添加一个额外的10px的.wp-caption
容器时,一个标题在当前。我试图使用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 off
更新:最精简的解决方案:
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();
});
});
工作!div =)
this
是对.each()
中当前元素的引用。
jQuery().ready(function( $ ) {
$(".wp-caption").each(function(n) {
var width = $(this).find("img").width();
$(this).width(width);
});
});
…因此,从this
,您使用find()
[docs]方法获得后代<img>
及其width()
。
你也可以直接传递一个函数给width()
,它会为你迭代。
jQuery().ready(function( $ ) {
$(".wp-caption").width(function(i,val) {
return $(this).find("img").width();
});
});
…这里,函数的返回值将是设置为当前.wp-caption
的宽度。
EDIT:更新为在.ready()
处理程序中使用通用的$
引用
相关文章:
- Wordpress:javascript在服务器上的wp-admin中不起作用
- JQuery自动完成-在焦点上显示完整菜单(从WP短代码中)
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- Iterate over SQLOBJECT -WEBSQL
- JS为幻灯片创建与WP冲突
- Ctrl+鼠标滚轮缩放在Chrome和Opera中无法使用某些WP主题
- 更新到WP 4.5后,Wordpress中出现Visual Composer错误
- WP Enfold Layerslider:如何将静态内容放在滑块上方
- jquery image-over不起作用
- 使用WP UI从选项卡到选项卡的Jquery文本链接
- 将自定义CSS注入WP Admin登录弹出iframe
- 如何在谷歌浏览器中使用step-int和step-over'用于调试Java脚本的Web检查器
- 尝试将JS绑定到html图像url - 使用WP主题定制器API
- splat over JavaScript 对象(带有 new)
- Protobuf over zeromq/zwssock to JSMQ/ProtoBuf.js 消息未完全接收
- Javascript loop over getElementsByClassName
- Custom clipping path over HTML <div>
- JavaScript Regex over CSS:如何处理错误的类
- Nodejs Numtel Mysql over a SSH connection
- jQuery .each() over .wp-caption