我正在尝试使用jQuery修改WordPress标题短代码的HTML,其HTML基本上如下所示:
<div class="wp-caption" style="width: 310px">
<img class="size-medium" src="..." width="300" height="200" alt="" />
<p class="wp-caption-text">The caption is here.</p>
</div>
这个(至少对我来说)的问题是,当当前出现图像标题时,WordPress会向..wp标题容器添加一个额外的10 is。我希望将此内联样式重置为与图像的宽度属性相同的样式。我不太确定var
部分应该如何工作(或者是否有更好的方法连接字符串),我希望在正确的方向上提供任何帮助:
jQuery().ready(function() {
jQuery(".wp-caption").removeAttr("style");
var width = jQuery(".wp-caption img").Attr(width);
var width = jQuery(width).Prepend('width:');
var width = jQuery(width).Append('px');
jQuery(".wp-caption").attr('style', jQuery(width));
});
更新1:现在我只需要弄清楚当一个页面上有多个图像时如何工作。我尝试将它包装在一个.each(function(n)
中,但它仍然从第一个图像中获取宽度,并将其应用于所有容器。
jQuery().ready(function() {
jQuery(".wp-caption").each(function(n) {
var width = jQuery(".wp-caption img").width();
jQuery(".wp-caption").width(width);
});
});
更新2:已解决-参见this thread。
发布于 2011-07-08 18:31:44
试试这个:
var width = jQuery(".wp-caption img").width();
jQuery(".wp-caption").width(width);
发布于 2011-07-08 18:30:37
$(document).ready(function() {
var width = $(".wp-caption img").attr("width") + "px";
$(".wp-caption").css('width', width);
});
https://stackoverflow.com/questions/6628758
复制相似问题