আমার একটি সহজ এবং নমনীয় সমাধান রয়েছে যা উইলের মতো কিছুটা অনুরূপ (তবে বৈধ এইচটিএমএল হওয়ার অতিরিক্ত সুবিধা সহ):
শরীরের উপাদানটিকে "jsOff" শ্রেণি দিন। এটি জাভাস্ক্রিপ্টের সাহায্যে সরান (বা প্রতিস্থাপন)। "JsOnly" শ্রেণীর সাথে "jsOff" শ্রেণীর সাথে প্যারেন্ট উপাদান সহ কোনও উপাদানকে আড়াল করতে সিএসএস করুন।
এর অর্থ হ'ল জাভাস্ক্রিপ্ট সক্ষম করা থাকলে "jsOff" শ্রেণি শরীর থেকে সরানো হবে। এর অর্থ হ'ল "jsOnly" শ্রেণীর উপাদানগুলির "jsOff" শ্রেণীর সাথে কোনও পিতা বা মাতা থাকবে না এবং তাই সিএসএস নির্বাচকের সাথে তাদের লুকিয়ে থাকা সিলেক্টারের সাথে মেলে না, সুতরাং তাদের দেখানো হবে।
জাভাস্ক্রিপ্ট অক্ষম করা থাকলে, "jsOff" শ্রেণি শরীর থেকে সরানো হবে না । "JsOnly" সঙ্গে উপাদানসমূহ হবে "jsOff" সঙ্গে একটি পিতা বা মাতা আছে এবং তাই হবে CSS নির্বাচনকারী যে তাদের চামড়া, এইভাবে তারা আড়াল করা হবে মেলে।
কোডটি এখানে:
<html>
<head>
<style type="text/css">
.jsOff .jsOnly{
display:none;
}
</style>
</head>
<body class="jsOff">
<script type="text/javascript">
document.body.className = document.body.className.replace('jsOff','jsOn');
</script>
<noscript><p>Please enable JavaScript and then refresh the page.</p></noscript>
<p class="jsOnly">I am only shown if JS is enabled</p>
</body>
</html>
এটি বৈধ এইচটিএমএল। এটা সহজ. এটি নমনীয়।
জেএস সক্ষম থাকলে কেবল যে কোনও উপাদানকে আপনি প্রদর্শন করতে চান তার জন্য কেবল "jsOnly" শ্রেণি যুক্ত করুন।
দয়া করে নোট করুন যে জাভাস্ক্রিপ্ট যা "jsOff" শ্রেণিটি সরিয়ে দেয় তা শরীরের ট্যাগের ভিতরে যত তাড়াতাড়ি সম্ভব কার্যকর করা উচিত। এটি আগে কার্যকর করা যায় না, কারণ বডি ট্যাগটি এখনও থাকবে না। এটি পরে মৃত্যুদন্ড কার্যকর করা উচিত নয় কারণ এর অর্থ হ'ল "jsOnly" শ্রেণীর উপাদানগুলি এখনই দৃশ্যমান নাও হতে পারে (কারণ তারা সিএসএস নির্বাচকের সাথে মিলবে যা "jsOff" শ্রেণীর শরীরের উপাদান থেকে অপসারণ না করা পর্যন্ত তাদের লুকায়)।
এটি জেএস-কেবল স্টাইলিং (উদাহরণস্বরূপ .jsOn .someClass{}
) এবং নো-জেএস-কেবল স্টাইলিং (উদাঃ .jsOff .someOtherClass{}
) এর জন্যও একটি প্রক্রিয়া সরবরাহ করতে পারে । আপনি এটির বিকল্প সরবরাহ করতে এটি ব্যবহার করতে পারেন <noscript>
:
.jsOn .noJsOnly{
display:none;
}