【问题标题】:jQuery If "P" tag contains "Img" tag add "Text Align Center to "P" tagjQuery 如果“P”标签包含“Img”标签,则将“文本对齐中心”添加到“P”标签
【发布时间】:2012-01-25 16:54:19
【问题描述】:

如果p 标签包含图像,我只需要一些帮助即可添加居中对齐的文本。我需要这个能够在 wordpress 中居中附加图像。感谢您提供的所有帮助!

【问题讨论】:

    标签: jquery image wordpress center


    【解决方案1】:

    使用 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】:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        不过,.has 方法比选择器快。

        【讨论】:

        • 这是完美的,绝对完成了工作!非常感谢你的帮助。 jQuery 是我学习路径的下一个重点。
        • 没问题,很高兴我能帮上忙 :)
        • 你对.has() 更快是绝对正确的:jsperf.com/selectorcomparisons,但对 SLaks 的速度最快......!
        • 对我来说,Chrome 16 .has 是最快的(紧随其后的是 .closest)。
        【解决方案4】:
        $('img').closest('p').css('text-align', 'center');
        

        【讨论】:

          猜你喜欢
          • 2015-04-26
          • 1970-01-01
          • 2013-01-06
          • 2023-01-13
          • 1970-01-01
          • 2011-12-26
          • 2011-01-18
          • 2013-05-02
          • 2020-11-11
          相关资源
          最近更新 更多