jquery

2010-09-29 9 views
5

के साथ विशिष्ट इनलाइन शैली को हटाएं एक एएसपी मेनू है जिसका उपयोग मैं कर रहा हूं ऑटो डालने वाली शैली = "चौड़ाई: 3 पीएक्स;" मेरे मेनू टेबल टीडीएस में मेरे टैब के बीच एक बुरा गैब बनाते हैं। मैं इस कॉस्मेटिक दोष के लिए मेनू को अनुकूलित करने वाले हमारे डेवलपर की बजाय jquery के साथ इस इनलाइन शैली को हटाने के लिए परीक्षण कर रहा हूं।jquery

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

jQuery में, मैं ऐसा करके शैली विशेषता के साथ सभी टीडीएस हटा सकते हैं::

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

हां, तो मेरे सवाल है, मैं कैसे लक्षित कर सकते हैं

नीचे

एक सरल उदाहरण है इनलाइन शैली जिसमें केवल 3 पीएक्स है? http://jsfiddle.net/n9upF/

उत्तर

9

आप कैसे आप केवल इसमें width:3px; साथ टीडी का है कि शैली विशेषता का चयन कर सकते हैं, सही पूछ रहे हैं?

आप Attribute Equals Selector का उपयोग कर सकते हैं।

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

यह चाल बहुत आसान था। ब्रायन धन्यवाद! – Evan

+0

+1: मुझे निश्चित रूप से याद आया :) – Sarfraz

+0

क्या यह शैली शैली के प्रकार से काम कर सकता है? मैं फ़ॉन्ट-परिवार और फ़ॉन्ट आकार की सभी घटनाओं को हटाने की कोशिश कर रहा हूं, लेकिन मुझे उनके मूल्य का पता नहीं है। –

4

हां, तो मेरे सवाल है, मैं कैसे केवल लक्ष्य इनलाइन शैली है कि शामिल केवल 3px कर सकते हैं:

यहाँ मेरी लाइव डेमो है?

इस प्रयास करें:

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

See Working Example

+0

यह बहुत अच्छा है अगर मुझे सभी शैलियों को मारने की ज़रूरत है। धन्यवाद – Evan

8

मेरा मानना ​​है कि इवान केवल चौड़ाई को हटाना चाहता था: 3 पीएक्स; शैली से जबकि अन्य सीएसएस स्टाइल विशेषता में रहते हैं। तो यहाँ समाधान है:

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

कार्य उदाहरण here

है यदि यह नहीं है कि तुम क्या जरूरत है तो सरफराज उचित समाधान दिखाया गया है। :)

+0

nik - धन्यवाद आपकी मदद के लिए! मैंने पाया कि ब्रायन की थोड़ी कम कोड के साथ चाल चल रही है, जबकि सरफज़ ने कोड शुरू करने के बाद आपके प्रश्न को और अधिक प्रयास के साथ संबोधित किया। फिर, मैं आपकी मदद की सराहना करता हूं। – Evan

+0

मेरा समाधान काम करेगा यदि आप केवल तभी हटाना चाहते हैं चौड़ाई और अन्य स्टाइल रखें। अगर आप केवल स्टाइल एट्रिब्यूट को हटाना चाहते हैं तो ब्रायन का समाधान वास्तव में सबसे छोटा है। यह मेरे लिए काम नहीं किया। वैसे भी :) –

+0

+1। 'विशिष्ट इनलाइन शैलियों को हटाने' का सबसे अच्छा समाधान! –