jQuery如果“P”标签包含“Img”标签,请添加“Text Align Center to”P“标签

时间:2011-12-21 22:30:57

标签: jquery image wordpress center

如果它们包含图像,我只需要帮助添加p标记的中心文本对齐。我需要这个能够将附加图像集中在wordpress中。感谢您提供的任何和所有帮助!

4 个答案:

答案 0 :(得分:10)

您可以使用has将所有p元素集合缩小到包含img元素的元素,然后使用css更改属性:

$("p").has("img").css({textAlign: "center"});

或者,您可以使用:has选择器:

$("p:has(img)").css({textAlign: "center"});

但是,.has方法比选择器快。

答案 1 :(得分:2)

使用jQuery:

$('p:has("img")').css('text-align','center');

仅仅因为我通过JS Perf运行了这个,我想我会发布一个简单的JS版本(在Chromium 14 / Ubuntu 11.04中,这是解决问题的最快方法):

var imgs = document.getElementsByTagName('img');
for (var i=0,len=imgs.length; i<len; i++){
    if (imgs[i].parentNode.tagName.toLowerCase() == 'p'){
        imgs[i].parentNode.style.textAlign = 'center';
    }
}

Along with a JS Fiddle

参考文献:

答案 2 :(得分:1)

$('img').closest('p').css('text-align', 'center');

答案 3 :(得分:1)

使用具有:http://api.jquery.com/has/

$('p').has('img').css('textAlign', 'center');