নেস্টেড এইচটিএমএল মন্তব্যগুলি কী সম্ভব?


97

শিরোনাম অনুসারে; বৈধ এইচটিএমএলে নেস্টেড মন্তব্য করা কি সম্ভব? নীচের উদাহরণটি দেখুন ...

<p>some text</p>

  <!-- comment 1

    <p>commented out html</p>

    <!-- comment 2

      // are nested html comment allowed?

    end of comment 2 -->

    <p>more commented out html</p>

  end of comment 1 -->

<p>some more text</p>

এটি প্রদর্শিত হয় না, কেউ কি জানেন কীভাবে আমি কাজ করতে নেস্টেড মন্তব্য পেতে পারি?


4
... বা আমি এটি সম্ভব বলে মনে করি না তবে সম্ভবত আমার চেয়ে আরও অভিজ্ঞ কেউ জানতে পারবে!
কিউজেড

এইচটিএমএলে বৈধ কি তা নিয়ে যদি সন্দেহ হয় তবে আমি সাধারনত তাড়া করে কেটে স্ট্রিংহ্ট স্ট্যান্ডার্ড ছেলেদের কাছে যাই। বিশেষ করে, W3C এর মার্কআপ ভ্যালিডেশন সার্ভিস এ validator.w3.org
Mawg বলেছেন পুনর্বহাল মনিকা

উত্তর:


105

আপনি যখন কোনও মন্তব্য বাসা বাঁধেন, "-" সাথে "-" "প্রতিস্থাপন করুন। আপনি যখন বাসা বেঁধে ফেলেন, তখন প্রক্রিয়াটি বিপরীত করুন। এটি <!--নিষিদ্ধ নয় তবে --

উদাহরণ:

<!-- some stuff
<!- - some inner stuff - ->
<!- - a sibling - ->
the footer -->

4
এর অর্থ কি অভ্যন্তরীণ মন্তব্যটি এখন আর সঠিক মন্তব্য নয়?
এস .লট

10
হ্যাঁ, এইচটিএমএল এবং এক্সএমএল <! - ব্যবহার করে নীড় মন্তব্য করার অনুমতি দেয় না। আপনি নিজের কোডে যা করতে পারেন তা হ'ল একটি মন্তব্য উপাদানকে সংজ্ঞায়িত করা এবং পার্সিংয়ের সময় সক্রিয়ভাবে এড়ানো।
অ্যারন ডিজুল্লা

4
মনে রাখবেন আপনি প্রতিস্থাপন করা উচিত --সঙ্গে - - ভেতরের (নেস্টেড) মন্তব্যের জন্য
ইবোসি

4
আপনি যদি "-" থেকে "-" "পরিবর্তন করেন তবে তা আর মন্তব্য নয়। এটি কোনও সমাধান নয়, চারপাশের উপায় হিসাবে, আপনি "<% - আপনার মন্তব্য -%> কোনও পথের জন্যও ব্যবহার করতে পারেন
অনন্ত সিং

এই উত্তোলন এবং সেরা উত্তর হিসাবে গৃহীত হয়েছে? এটি এমনকি কাজ করে না! গীশ। দয়া করে নীচে ডেভ ল্যান্ডের ব্যাখ্যা পড়ুন
জন ই

98

টিএল; ডিআর : দুর্ভাগ্যক্রমে, না, এটি সম্ভব নয় (এবং কখনই হবে না)।

সংক্ষিপ্ত উত্তর:

এইচটিএমএল মন্তব্যটি বেশিরভাগ ক্ষেত্রে এটি কী বলে মনে হয় তা নয়। এইচটিএমএল এসজিএমএলের একটি রূপ, যাতে মন্তব্যগুলি জোড়া ডাবল-ড্যাশ ( --…  --) দ্বারা সীমিত করা হয় ।

এইভাবে, উদ্বোধনী বন্ধনী ( <! ---- >) এর পরে উদ্দীপনা পয়েন্ট সহ এক জোড়া কোণ ব্র্যাকেটের ভিতরে ডাবল-ড্যাশের কোনও জুটি একটি মন্তব্য। অনুমানটি আমার চেয়ে এটি আরও ভাল বলে: http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4

এই জন্যই এই এক (যা আমরা মত মন্তব্য সব সম্ভবত এক সময় অথবা অন্য সম্পন্ন) একটি হয় খারাপ ধারনা:

<! - ------------------ শিরোনাম এখানে শুরু হয় -------------------- ->

সত্য: উপরের ট্যাগ দূষণ দ্বারা কতটি মন্তব্য উপস্থাপন করা হয়েছে তা বলতে আমি খুব অলস, তবে এটি কমপক্ষে 10 টি।

আমি কম অলস পেয়েছি: এই তথাকথিত "মন্তব্য "টিতে আসলে 10 টি মন্তব্য, কোনও মন্তব্যের বাইরে তিনটি শব্দ (যেমন, কেবল খারাপ এসজিএমএল) এবং সমাপ্ত হয় না এমন একটি মন্তব্যের শুরু। এটি একটি বাস্তব জগাখিচুড়ি:

<!--1 ----2 ----3 ----4 ----5--
শিরোনাম এখানে শুরু
--6 ----7 ----8 ----9 ----10-- -->

অবশ্যই, এটা না বেশ যে সহজ কিভাবে বৈশিষ্ট ব্যাখ্যা করা প্রতিটি ব্রাউজারের বেছে পার্থক্যের কারণে।

এখানে একটি দুর্দান্ত নিবন্ধ এখানে এটি ব্যাখ্যা করেছে:

    http://weblog.200ok.com.au/2008/01/Dashing-into-trouble-why-html-comments.html

দীর্ঘ উত্তর: কেন আমরা এটি ভুল করি

আমরা বেশিরভাগ যারা এইচটিএমএল দ্বারা বড় হয়েছি (এসজিএমএলে এটি অন্তর্নিহিত না করে) এটি বিশ্বাস করেছে যে স্ট্রিং <!--একটি মন্তব্য শুরু করে, এবং স্ট্রিং -->একটি মন্তব্য শেষ করে।

প্রকৃতপক্ষে <!এবং >আপনার এইচটিএমএল ডকুমেন্টের মধ্যে একটি এসজিএমএল ঘোষণা সীমাবদ্ধ করুন, যেমন আমাদের সমস্ত পৃষ্ঠাগুলির শীর্ষে ডক্টইপিই ঘোষণা've এসজিএমএল ঘোষণার মধ্যে ডাবল ড্যাশ দ্বারা মন্তব্যগুলি সীমিত করা হয়। সুতরাং, এইচটিএমএল মন্তব্য

<! - এটি একটি মন্তব্য ->

যা আমাদের অধিকাংশ বিশ্বাস করবে পার্স করা হয় মত এই <!-- this is a comment -->আসলে এই মত পার্স হয়:
<!-- this is a comment -->। এটি একটি এসজিএমএল ঘোষণা যা কোনও মন্তব্য ছাড়া খালি।

এইচটিএমএল এসজিএমএলের একটি রূপ, এই "মন্তব্য-এর মধ্যে-একটি-ঘোষণা" এইচটিএমএল মন্তব্য হিসাবে ফাংশন করে।

আগ্রহের বাইরে, এখানে খাঁটি এসজিএমএলের একটি অংশ রয়েছে যা মন্তব্যগুলিকে এসজিএমএল হিসাবে লক্ষ্য করে যেমন কাজ করছে তা দেখায়: এই বৈশিষ্ট্য তালিকা সংজ্ঞাটিতে প্রতিটি লাইনে একটি মন্তব্য রয়েছে:

<! অ্যাটলিস্ট লিঙ্ক
  % অ্যাটর্স; -% কোরিটার,% i18n,% ইভেন্ট -
  চরসেট% চরসেট; # আইএমপ্লাইড - সংযুক্ত সংস্থানসমূহের চর এনকোডিং -
  href% ইউআরআই; # আইএমপ্লাইড - সংযুক্ত সংস্থার জন্য ইউআরআই -
  hreflang% ল্যাঙ্গুয়েজ কোড; # আইএমপ্লাইড - ভাষার কোড -
  % কন্টেন্ট টাইপ; # আইএমপ্লাইড - পরামর্শমূলক সামগ্রীর ধরণ -
  rel% লিংকটাইপ; # আইএমপ্লাইড - ফরোয়ার্ড লিঙ্কের প্রকারগুলি -
  রেভ% লিংকটাইপস; # ইমপ্লাইড - বিপরীত লিঙ্কের প্রকারগুলি -
  মিডিয়া% মিডিয়াডেস্ক; # ইমপ্লাইড - এই মিডিয়াগুলিতে রেন্ডারিংয়ের জন্য -
>

4
মজাদার. আমি এখনও ভাবছি যে এইচটিএমএল 5 পার্সিংয়ের ক্ষেত্রে এখনও এটি সত্য কিনা।
Kzqai

4
দুর্ভাগ্যক্রমে, হ্যাঁ, এটি এখনও সত্য, কারণ এটি অন্তর্নিহিত এসজিএমএল আন্ডারপিনিংগুলির অংশ যা HTML5 সহ সমস্ত এইচটিএমএল ভিত্তিক। এটির পরিবর্তনের পক্ষে এটি সমস্ত কিছুই অসম্ভব।
ডেভ ল্যান্ড

8

এটা করা যায় না। -->সর্বদা একটি বিদ্যমান এইচটিএমএল মন্তব্য শেষ হবে।


4
অন্যান্য প্রোগ্রামিং ভাষা যেমন LUA এর অনুমতি দেয়। == [[এবং == [1 [দুটি পৃথক পৃথক মন্তব্য ব্লকের শুরু। কোনও দিন এইচটিএমএল একই জিনিসটি করতে পারে না তার কোনও কারণ আমি দেখতে পাচ্ছি না।
জন ktejik

7

যদি আপনি সত্যিই এইচটিএমএলের কিছু অংশের সাথে আটকে থাকেন - কিছু অনিয়ন্ত্রিত উত্সে প্রাক-রেন্ডার করা - এতে মন্তব্য রয়েছে এবং আপনাকে নিশ্চিত করতে হবে যে এটির কোনওটি আপনার পৃষ্ঠায় রেন্ডার করা হয়নি, আপনি সর্বদা scriptনীচের মতো ট্যাগ দিয়ে মোড়ানো করতে পারেন , কেবলমাত্র এটি হ'ল আপনি scriptট্যাগগুলি এভাবে মন্তব্য করতে পারবেন না ।

<p>some text</p>

<!-- multiline "comment" below using script type="text/html" -->
<script type="text/html">

  <p>commented out html</p>

  <!-- comment 2

      // are nested html comment allowed?

    end of comment 2 -->

  <p>more commented out html</p>

</script>

<p>some more text</p>

যদি আপনাকে scriptট্যাগগুলি মন্তব্য করার প্রয়োজন হয় তবে আপনি তার textareaপরিবর্তে একটি মোড়ক হিসাবে ব্যবহার করতে পারেন , এটি অবশ্যই এইভাবে করছেন, আপনি textareaট্যাগগুলি মন্তব্য করতে পারবেন না ।

<p>some text</p>

<!-- multiline "comment" below using textarea style="display:none;" -->
<textarea style="display:none;">

  <script>  

    alert("which won't show up..");  

  </script>

  <p>commented out html</p>

  <!-- comment 2

      // are nested html comment allowed?

    end of comment 2 -->

  <p>more commented out html</p>

</textarea>

<p>some more text</p>


4
চালাক! তবে এইচটিএমএল
উইলিয়াম

4
@ উইলেম, একটি অতিরিক্ত পদ্ধতির সাহায্যে উত্তরটি আপডেট করেছেন যা আপনার
দৃশ্যে

4
ধন্যবাদ, এটি একটি অভিনব উপায়। সম্ভবত আপনি জেএস মন্তব্য ব্লকে জিনিসটি মোড়ানো করতে পারেন:/* */
উইলিয়াম

7

templateট্যাগ ব্যবহার করুন । সমস্ত মন্তব্য এবং অন্যান্য এইচটিএমএল দেখানো থেকে অবরুদ্ধ করার দ্রুততম উপায়।

<template>
    <!-- first paragraph-->
    Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    <!-- second paragraph-->
    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</template>

    <!-- third paragraph-->
    Ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.sunt in culpa qui officia deserunt mollit.

<template>উপাদান মাত্র যে কোন জায়গায় জোড়া যাবে না। এর মূল উপাদানটি হ'ল <body>উপাদান বা কয়েকটি বেছে নেওয়া উচিত
জন ই

1

কিছু সম্পাদকের মন্তব্য / অস্বস্তিকর আদেশ রয়েছে যা স্বয়ংক্রিয়ভাবে উপস্থিত মন্তব্যগুলিকে পাঠ্যের একটি ব্লকে পরিচালনা করতে পারে। ভিজুয়াল স্টুডিও যেমন আপনি যখন Ctrl + KC এবং Ctrl + KU টিপেন তখন তা করছে।


VS2013 এ নেস্টেড এইচটিএমএল মন্তব্যের জন্য আপনি Ctrl + KC & Ctrl + KU- র জন্য যা বলেছেন তা আমি চেষ্টা করছি, তবে দুর্ভাগ্যক্রমে এটি এটি পরিচালনা করছে না।
মাহদী আলখতিব

1

একটি ভিএস অ্যাড-ইন যা নেস্ট করা মন্তব্যগুলিকে স্বয়ংক্রিয়ভাবে রূপান্তরিত <!--...-->করে <!~~...~~>পুরো বিভাগটিকে মন্তব্য করে out এটি আপনাকে এটিকে চালু এবং বন্ধ করতে দেয়।

নেস্টেড-মন্তব্য


0

আমি মনে করি এটি অনুমোদিত নয় তবে যতদূর আমি জানি এটি ফায়ারফক্স বাদে বেশিরভাগ প্রধান ব্রাউজারে কাজ করে।


0

এটি ব্যবহার করার চেষ্টা করুন

<!-- 

এটি মন্তব্যের শুরু

<%-- this is another comment --%>

<%-- this is another one --%>

--> মন্তব্য শেষ।


0

এটা চেষ্টা কর

<p>some text</p>
<comment> comment 1
<p>commented out html</p>
<!-- comment 2
  // are nested html comment allowed?
end of comment 2 -->
<p>more commented out html</p>
end of comment 1 </comment>
<p>some more text</p>

4
তুমি কি ব্যাখ্যা করতে পারো? আমি <comment>এইচটিএমএল
মাউগ মনিকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.