इनलाइन शैली विशेषता द्वारा सीएसएस चयनकर्ता


114

क्या इनलाइन शैली विशेषता मूल्य द्वारा इस तत्व का चयन करने के लिए सीएसएस चयनकर्ता है?

<div style='display:block'>...</div>

कुछ इस तरह

div[cssAttribute=cssValue]

जवाबों:


191

इनलाइन styleविशेषता किसी भी अन्य HTML विशेषता के लिए अलग नहीं है और एक विकल्प विशेषता चयनकर्ता के साथ मिलान किया जा सकता है:

div[style*="display:block"]

यह इस कारण से है कि यह बेहद नाजुक है । जैसा कि विशेषता चयनकर्ता नियमित अभिव्यक्तियों का समर्थन नहीं करते हैं, आप केवल विशेषता मान के सटीक विकल्प मिलान कर सकते हैं । उदाहरण के लिए, यदि आपके पास विशेषता मान में कहीं जगह है, तो इस तरह से:

<div style='display: block'>...</div>

यह तब तक मेल नहीं करेगा जब तक आप अपने चयनकर्ता को स्थान समायोजित करने के लिए नहीं बदलते। और फिर यह उन मिलान मूल्यों को रोक देगा जिनमें स्थान शामिल नहीं है, जब तक कि आप सभी क्रमपरिवर्तन, विज्ञापन nauseum शामिल नहीं करते हैं। लेकिन अगर आप एक ऐसे दस्तावेज के साथ काम कर रहे हैं जिसमें इनलाइन शैली की घोषणाएं खुद को बदलने की संभावना नहीं है, तो आपको ठीक होना चाहिए।

यह भी ध्यान दें कि यह डोम में परिलक्षित उनके वास्तविक निर्दिष्ट, संगणित या उपयोग किए गए मानों द्वारा चयन करने वाले तत्वों पर नहीं हैयह सीएसएस चयनकर्ताओं के साथ संभव नहीं है।


1
यहां तक ​​कि अगर यह आवश्यक है, बहुत बुरा है, इसके लिए कोई वास्तविक समाधान नहीं है।
BoltClock

यदि आप हमें बताएँ कि आपको तो हम शायद मदद कर सकते हैं ऐसा करने की जरूरत सकता है और अधिक
जीर्णशीर्ण

9
यह उपयोगी होने पर मैं आपको एक उदाहरण दूंगा। मैं एक सेलेनियम वेब चालक परीक्षण लिख रहा हूं और परीक्षण में वास्तविक कोड को बदलना नहीं चाहूंगा / चाहूंगा। मुझे शैली प्रदर्शन द्वारा एक विशिष्ट स्वतः पूर्ण (कई छिपे हुए हैं) की पहचान करने की आवश्यकता है, क्योंकि कोड अद्वितीय आईडी या माता-पिता की संरचना प्रदान नहीं करता है - वे कॉलबैक में <body> को डंप किए जाते हैं। लेकिन हाँ, यह नाजुक है जैसे आप इंगित करते हैं।
andandand

2
यदि आपके पृष्ठ पर hte google Translate bar का उपयोग किया गया है, तो मैंने इसे आवश्यक समझा है क्योंकि यह हमारे पेज के शीर्ष पर एक निश्चित div जोड़ता है - और हमारी नौसेना पहले से ही तय है। यह तकनीक हमें अपनी नौसेना पट्टी को स्थानांतरित करने की अनुमति देती है, यह निर्भर करता है कि अनुवाद पट्टी दिखाई दे रही है या नहीं। अनुवाद बार में स्थिर कक्षाएं होती हैं और केवल एक चीज जो बदलती है वह है इसकी प्रदर्शन शैली।
जग

3
@andersand: मेरे उत्तर पर पर्याप्त टिप्पणियों के बाद आखिरकार मैं इसे अपडेट करने के लिए तैयार हो गया। मैंने अपना मूल उत्तर लिखते समय सेलेनियम के बारे में नहीं सोचा था और मैं मानता हूँ कि यह इनलाइन स्टाइल विशेषता चयनकर्ताओं के लिए सबसे प्रमुख उपयोग मामलों में से एक है।
BoltClock

3

समेत ";" मेरे लिए बेहतर काम करता है।

div[style*="display:block;"] 

4
ऐसा इसलिए है क्योंकि विशेषता styleको HTML संपत्ति से बिल्कुल मेल खाना चाहिए
RousseauAlexandre

@RousseauAlexandre जोड़ना ";" चयनकर्ता को कम से कम कोई फर्क नहीं पड़ता जब मैंने किसी तत्व पर ";" उसमें और चयनकर्ता में नहीं। जब तक वर्ण और स्थान समान हैं, तब तक शामिल करना अनावश्यक है ;
मैक्सी बर्कमैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.