【问题标题】:jQuery if condition with parent style attrjQuery if 条件与父样式 attr
【发布时间】:2014-08-20 22:13:40
【问题描述】:

我有这样的变种关闭 html p-container:

有时会这样:

<p style="text-align:center"><div class="caption left" style="width: 600px;"><img alt="Черный винил на капоте Фокуса - рельефный, его узор объемный" src="/ckeditor_assets/pictures/426/content_ydhrmn4ow-k.jpg" style="height:398px; width:600px" class="cboxElement"><p>dsf</p></div></p>

但事情是这样的:

<p><div class="caption left" style="width: 600px;"><img alt="Винил для некоторых владельцев авто - больше чем просто тюнинг" src="/ckeditor_assets/pictures/427/content_fbl-djoq5ka.jpg" style="height:441px; width:600px" class="cboxElement"><p>Винил для некоторых владельцев авто - больше чем просто тюнинг</p></div></p>

我所有的 javascript 代码都用于 P-tag 中的第一个 div。

我可以检查 div (class="caption left") 它的父级:它是否包含 style="text-align:center"?是否可以用 jQuery 编写?如何?

【问题讨论】:

  • if($('.caption.left').parent().css('text-align') === 'center')
  • 非常重要的一点:你不能拥有&lt;p&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;。它会破坏你的 DOM。

标签: javascript jquery html


【解决方案1】:

是的,您可以:

if( $('.caption.left').parent().css( 'text-align' ) === 'left' ) {
    // do some things
}

如果您的 div 元素很少,类 caption left 最好使用 each 方法:

$( '.caption.left' ).each( function() {
    if( $( this ).parent().css( 'text-align' ) === 'left' ) {
        // some stuff
    }
});

【讨论】:

    【解决方案2】:

    如果我理解正确,您想访问父 css 属性。我会这样做:

    var styPar = $( ".caption.left" ).parent().css( "text-align" );
    

    然后检查:

    if (styPar == "center")
    {
       //Do your stuff
    }
    

    【讨论】:

      【解决方案3】:

      主要问题是您究竟需要什么。使用 jQuery:

      if($('div.caption.left').parent().css('text-align') == 'center')
      

      非常重要的一点:你不能拥有&lt;p&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;。它会破坏你的 DOM。

      【讨论】:

        猜你喜欢
        • 2014-12-11
        • 2021-10-03
        • 2022-06-24
        • 2018-03-17
        • 2020-05-29
        • 2011-10-18
        • 2012-01-08
        • 2012-10-26
        • 1970-01-01
        相关资源
        最近更新 更多