2017-05-18 7 views
0

私の同僚は、要素を表示するには、このコードを使用しています。jQuery.attr( "スタイル")()

$('selector here').attr('style','display:inline-block'); 

私は通常、この使用:

$('selector here').css('display','inline-block'); 

を私はインラインCSSを知っていますstyle属性を使用することは悪い習慣ですが、それ以外の場合、これらの2行のいずれかが優先順位の高いCSSになるか、要素がどのように見えるかという点から完全に一致していますか?

インラインCSSの優先度が高いため、.css()の優先度が低くなる可能性があります。

+0

、どちらも理想的です。代わりに 'show()'を使うべきです –

+0

'show()'が優れているのはなぜですか? –

+1

これはCSSとJSコードを完全に分離しているためです。 –

答えて

4

いずれも要素にスタイル属性を追加します。私は唯一の違いは、一度に複数のCSS属性を設定すると、コードの可読性です。それ以外のCSSはスタイルを追加し、既に存在する場合にのみ置き換えます。 attr( 'style'、...)を使うと、毎回スタイルタグ全体を置き換えることができます。

は、あなたが以下のように要素を持っているとしましょう: <div class='element' style='color:red'>test</div>

あなたが$('.element').attr('style', 'display:none')を使用する場合、これはにつながる: <div class='element' style='color:red;display:none'>test</div>:あなたは、これがにつながる$(.element').css('display', 'none')を使用したい場合は <div class='element' style='display:none'>test</div>

cssを使用して

も読みやすいコードを維持しながら、あなたは複数のスタイル属性を設定することができません:さておき、あなたの質問に関しては

$('.element').css({ 
    color: red; 
    textDecoration: 'underline', 
    etc. 
})