2016-12-14 18 views
0

空のスタイル属性のみを削除することはできますか?例えば空のスタイル属性を削除する

私は動的要素にパディング追加した場合:

$('div').css('padding', '10px'); 
<div style="padding:10px"></div> 

その後、私は私が

<div style=""></div> 
で終わる放火犯を見てみると

$('div').css('padding', ''); 

のようにjQueryを使ってそれを削除

私がしたいのは、インラインスタイルを含まない場合にのみスタイル属性を削除することです。

+0

なぜあなたはそれをやりたいかを使用しましたか? –

+0

こんにちは!してください[私の答えを受け入れる](http://stackoverflow.com/a/41134930/652669)。 –

答えて

0

あなたはremoveAttrメソッドを使用することができます

if ($('div').attr('style') === '') { 
 
    $('div').removeAttr('style') 
 
}
div:before { 
 
    content: '<div> '; 
 
} 
 

 
div:after { 
 
    content: ' </div>'; 
 
} 
 

 
div:before, 
 
div:after { 
 
    font-style: Consolas; 
 
    font-size: 13px; 
 
    color: #7D2727; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div style="">no style attribute</div>

1

をあなたがチェックのスタイル値でこれを試すことができます。

if ($("div").attr("style") === "") 
    $("div").removeAttr("style"); 

この答えはあなたを助けることを願っています。

0

チェックするケースは2つあります。スタイル属性がno(undefined)またはstyleのプロパティが空の場合です。私はjQueryメソッドに気づいたremoveAttr()removeProp()は動作しませんでした。私は、DOMメソッドremoveAttribute

$('p').each(function(i, e){ 
 
    
 
    var styleAttr = $(e).attr('style'); 
 

 
    if(!styleAttr || styleAttr == ''){ 
 
     
 
     e.removeAttribute('style'); // use DOM methods 
 

 
    } 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<p style="display:table;color:#ddd;">Test</p> 
 
<p style="">Test</p> 
 
<p>Test</p>

関連する問題