আমি এমন কোনও উপায় সন্ধান করার চেষ্টা করছি যা জাভাস্ক্রিপ্ট ব্যবহার করে অ্যাট্রিবিউট যুক্ত / আপডেট করবে। আমি জানি আমি এটি setAttribute()
ফাংশন দিয়ে করতে পারি তবে এটি আইই তে কাজ করে না।
আমি এমন কোনও উপায় সন্ধান করার চেষ্টা করছি যা জাভাস্ক্রিপ্ট ব্যবহার করে অ্যাট্রিবিউট যুক্ত / আপডেট করবে। আমি জানি আমি এটি setAttribute()
ফাংশন দিয়ে করতে পারি তবে এটি আইই তে কাজ করে না।
উত্তর:
আপনি আইই সহ অনেকগুলি বিভিন্ন ব্রাউজারে গুণাবলীর আচরণ সম্পর্কে এখানে পড়তে পারেন ।
element.setAttribute()
এমনকি কৌতূহল আইই-তে করা উচিত। তুমি কি চেষ্টা করেছ? যদি এটি কাজ না করে, তবে সম্ভবত
element.attributeName = 'value'
কাজ করতে পারে।
document.getElementById("nav").setAttribute("class", "active");
এটি ক্রোম জেএস কনসোলে কাজ করে, তবে প্রকৃত পৃষ্ঠায় এটি কার্যকর হয় না ... কোনও ধারণা? যাইহোক, আসল পৃষ্ঠাতে আমি সুযোগটি .js
শেষ হওয়ার আগে ফাইলটি অন্তর্ভুক্ত করি body
।
আপনি যদি পুরোপুরি সামঞ্জস্যপূর্ণ হতে চান তবে যা সহজ বলে মনে হচ্ছে তা আসলে জটিল।
var e = document.createElement('div');
ধরা যাক আপনার যুক্ত করতে 'Div1' এর একটি আইডি রয়েছে।
e['id'] = 'div1';
e.id = 'div1';
e.attributes['id'] = 'div1';
e.createAttribute('id','div1')
এগুলি আইই 5.5 এ শেষ ব্যতীত সমস্ত কাজ করবে (যা এই মুহুর্তে প্রাচীন ইতিহাস তবে আপডেটের সাথে এক্সপির ডিফল্টও রয়েছে)।
তবে অবশ্যই জরুরী অবস্থা রয়েছে। আই ই কাজ নাও 8 পূর্বে হবে: e.attributes['style']
ত্রুটি করবে না কিন্তু আসলে বর্গ সেট না হবে, এটি classname হতে হবে: e['class']
।
তবে, আপনি যদি বৈশিষ্ট্যগুলি ব্যবহার করছেন তবে এই কাজ করবে:e.attributes['class']
সংক্ষেপে, বৈশিষ্ট্যগুলিকে আক্ষরিক এবং বস্তু-ভিত্তিক হিসাবে ভাবেন।
আক্ষরিক অর্থে, আপনি কেবল এটি x = 'y' কে থুথু ফেলুন এবং এটি সম্পর্কে ভাবেন না। এটি নির্ধারিত বৈশিষ্ট্য, সেটআট্রিবিউট, ক্রিয়েট অ্যাট্রিবিউট (আই এর স্টাইল ব্যতিক্রম ব্যতীত)। কিন্তু কারণ এটি সত্যই বস্তুগুলি বিভ্রান্ত হতে পারে।
যেহেতু আপনি jQuery অভ্যন্তরীণ এইচটিএমএল opালের পরিবর্তে সঠিকভাবে একটি ডিওএম উপাদান তৈরি করার সমস্যায় পড়ছেন, তাই আমি এটির মতো আচরণ করব এবং e.className = 'fooClass' এবং e.id = 'fooID' দিয়ে আটকে থাকব। এটি একটি নকশার অগ্রাধিকার, তবে এই ক্ষেত্রে চিকিত্সা করার চেষ্টা করা যেমন কোনও বস্তু আপনার বিপরীতে কাজ করে তেমন অন্য কিছু।
এটি অন্যান্য পদ্ধতিগুলির মতো আপনার উপর কখনই পিছিয়ে যাবে না, কেবল শ্রেণি নামকরণ এবং শৈলী একটি বস্তু হওয়ায় সচেতন হতে হবে সুতরাং এটি স্টাইল wউত্তর নয় স্টাইল = "প্রস্থ: 50px"। এছাড়াও ট্যাগনাম মনে রাখবেন তবে এটি ইতিমধ্যে ক্রিয়েলেমেন্ট দ্বারা সেট করা আছে যাতে আপনার এটি নিয়ে চিন্তা করার দরকার নেই।
এটি আমার চেয়ে দীর্ঘ ছিল, তবে জেএসে সিএসএসের হেরফেরটি জটিল কৌশল।
id
, মত অন্য কিছু নয়data-toggle
বাধ্যতামূলক jQuery সমাধান । title
বৈশিষ্ট্যটি সন্ধান করে এবং সেট করে foo
। নোট করুন এটি একটি একক উপাদান নির্বাচন করে যেহেতু আমি এটি আইডি দিয়ে করছি, তবে আপনি নির্বাচক পরিবর্তন করে খুব সহজেই সংগ্রহটিতে একই বৈশিষ্ট্যটি সেট করতে পারেন।
$('#element').attr( 'title', 'foo' );
বৈশিষ্ট্যটি দিয়ে আপনি কী করতে চান? এটি কি এইচটিএমএল বৈশিষ্ট্য বা নিজের কিছু?
বেশিরভাগ সময় আপনি এটিকে কেবল সম্পত্তি হিসাবে সম্বোধন করতে পারেন: কোনও উপাদানকে একটি শিরোনাম সেট করতে চান? element.title = "foo"
এটা করবো.
আপনার নিজস্ব কাস্টম জেএস বৈশিষ্ট্যগুলির জন্য ডমটি প্রাকৃতিকভাবেই এক্সটেনসিবল (ওরফে এক্সপেন্ডো = ট্রু), এর সহজ উত্সবটি হ'ল আপনি তা করতে পারেন element.myCustomFlag = foo
এবং পরবর্তীকালে ইস্যু ছাড়াই এটি পড়তে পারেন।