আপনি শিরোনাম পরিবর্তন করতে পারেন এমন অনেকগুলি উপায় রয়েছে, প্রধান দুটি, এর মতো:
প্রশ্নবিদ্ধ পদ্ধতি
এইচটিএমএলে (যেমন <title>Hello</title>
) শিরোনাম ট্যাগ রাখুন , তারপরে জাভাস্ক্রিপ্টে:
let title_el = document.querySelector("title");
if(title_el)
title_el.innerHTML = "World";
স্পষ্টতই সঠিক পদ্ধতি
সবচেয়ে সহজ হ'ল ডকুমেন্ট অবজেক্ট মডেল (ডিওএম) দ্বারা সরবরাহিত পদ্ধতিটি ব্যবহার করা
document.title = "Hello World";
পূর্ববর্তী পদ্ধতিটি হ'ল ডকুমেন্টের শরীরে পাওয়া ট্যাগগুলিকে পরিবর্তন করতে আপনি কী করবেন । মাথার মতো পাওয়া মেটা-ডেটা ট্যাগগুলি সংশোধন করার জন্য এই পদ্ধতিটি ব্যবহার করা (যেমন title
) সর্বোত্তমভাবে সন্দেহজনক অনুশীলন, বুদ্ধিদীপ্ত নয়, শুরু করার মতো খুব ভাল শৈলী নয়, এমনকি এটি বহনযোগ্যও নয়। আপনি যে বিষয়টির বিষয়ে নিশ্চিত হতে পারেন তা হ'ল এটি অন্যান্য বিকাশকারীদের title.innerHTML = ...
কোডটি রক্ষণাবেক্ষণ করে দেখলে তারা বিরক্ত করবে ।
আপনি যেটির সাথে যেতে চান তা হ'ল পরের পদ্ধতি। নামটি যেমন শিরোনাম পরিবর্তন করে, তেমন উদ্দেশ্যে বিশেষভাবে DOM স্পেসিফিকেশনে এই সম্পত্তি সরবরাহ করা হয়েছে ।
এও নোট করুন যে আপনি যদি XUL- র সাথে কাজ করছেন, আপনি শিরোনাম সেট করতে বা পাওয়ার চেষ্টা করার আগে নথীটি লোড হয়েছে কিনা তা পরীক্ষা করতে পারেন, অন্যথায় আপনি অনুরোধ করছেন undefined behavior
(এখানে ড্রাগন থাকুন), যা এটি তার নিজের ডানায় একটি ভীতিজনক ধারণা। এটি জাভাস্ক্রিপ্টের মাধ্যমে ঘটতে পারে এবং নাও হতে পারে, কারণ ডম-এ থাকা দস্তাবেজগুলি অবশ্যই জাভাস্ক্রিপ্টের সাথে সম্পর্কিত নয়। তবে এক্সএলএল হ'ল একটি 'জন্তু জন্তু, তাই আমি খনন করি।
কোনো কিছু সম্পর্কে বলতে গেলে .innerHTML
মাথায় রাখার জন্য কিছু ভাল পরামর্শ .innerHTML
হ'ল ব্যবহারটি সাধারণত ম্লান। appendChild
পরিবর্তে ব্যবহার করুন।
যদিও এখনও দুটি ক্ষেত্রে যেখানে আমি .innerHTML
দরকারী বলে মনে করি সেগুলির মধ্যে একটি ছোট উপাদানকে সরল পাঠ্য অন্তর্ভুক্ত করা অন্তর্ভুক্ত ...
label.innerHTML = "Hello World";
// as opposed to...
label.appendChild(document.createTextNode("Hello World"));
// example:
el.appendChild(function(){
let el = document.createElement("span");
el.className = "label";
el.innerHTML = label_text;
return el;
}());
... এবং একটি ধারক সাফ করা হচ্ছে ...
container.innerHTML = "";
// as opposed to... umm... okay, I guess I'm rolling my own
[...container.childNodes].forEach(function(child){
container.removeChild(child);
});