2010-09-29 23 views
5

Kullanmakta olduğum bir asp menüsü var otomatik ekleme stili = "width: 3px;" benim tablolarımın arasına sekmelerim arasında kötü bir gab yaratıyor. Sadece bu kozmetik leke için menüyü özelleştirerek geliştiricimizin yerine jquery ile bu inline stilini kaldırmak için test ediyorum.Belirli satır içi stilini jquery ile kaldırın

<table border="1" cellspacing="0" cellpadding="0"> 
    <tr> 
     <td style="width:3px;">hello world</td> 
    </tr> 
</table> 

jquery i yaparak bir stil özelliği ile tüm tds kaldırabilirsiniz:

$('td').removeAttr('style'); 

yüzden, benim sorum, nasıl hedefleyebilir aşağıda

basit bir örnek Yalnızca 3px içeren satır içi stil? http://jsfiddle.net/n9upF/

cevap

9

Haklısınız, bunu sadece width:3px; ile TD'sinin var stil özelliği seçebilirsiniz nasıl soruyorsun?

Attribute Equals Selector'u kullanabilirsiniz.

$("td[style='width:3px;']").removeAttr("style");​ 
+0

teşekkürler, bu çok basit bir hile yaptı. teşekkürler Brian! – Evan

+0

+1: Bunu kesinlikle özledim :) – Sarfraz

+0

Bu sadece tarz tipiyle çalışabilir mi? Yazı tipi ailesi ve yazı tipi boyutunun tüm oluşumlarını kaldırmaya çalışıyorum, ancak bunların değerini bilmiyorum. –

4

yüzden, benim sorum, nasıl sadece hedef içeren satır içi stil sadece 3px edebilirsiniz:

İşte benim canlı demo?

bu deneyin:

$('td').each(function(){ 
    if ($(this).attr('style').indexOf('3px') !== -1){ 
    $(this).removeAttr('style'); 
    } 
}); 

See Working Example

+0

Tüm stilleri öldürmem gerekirse bu harika bir şey. – Evan

8

Evan'un yalnızca genişliği kaldırmak istediğine inanıyorum: 3px; diğer css stili, özellikte kalırken stilde. Yani burada çözüm: Bu daha sonra Sarfraz uygun çözüm gösterilmektedir gerekli değilse

$('td').each(function(){ 
    if ($(this).attr('style').indexOf('3px') !== -1){ 
    var style = $(this).attr('style'); 
     $(this).attr('style', style.replace(/width: ?3px;/g, '')); 
    } 
}); 

Çalışma örnek here

olduğunu.

+0

nik - teşekkürler yardımınız için! Brian'ın biraz daha az kod ile hile yaptığını görüyorum, Sarfaz kodu başlattıktan sonra daha fazla gayretle benim sorularımı ele alırken, yardımınıza minnettarım. – Evan

+0

Çözümü, sadece genişliğini ve diğer stilini koruyun. Sadece stil özniteliğini kaldırmak istiyorsanız tamamen Brian'ın çözümü en kısa süredir. o benim için çalışmadı. Neyse :) –

+0

+1. 'Belirli satır içi stilleri kaldır' için en iyi çözüm! –