আপনি কি দয়া করে আমাকে বলতে পারেন যে কোনও ডিওএম এপিআই রয়েছে যা প্রদত্ত বৈশিষ্ট্যটির নাম এবং বৈশিষ্ট্যযুক্ত মান সহ কোনও উপাদান অনুসন্ধান করবে:
কিছুটা এইরকম:
doc.findElementByAttribute("myAttribute", "aValue");
আপনি কি দয়া করে আমাকে বলতে পারেন যে কোনও ডিওএম এপিআই রয়েছে যা প্রদত্ত বৈশিষ্ট্যটির নাম এবং বৈশিষ্ট্যযুক্ত মান সহ কোনও উপাদান অনুসন্ধান করবে:
কিছুটা এইরকম:
doc.findElementByAttribute("myAttribute", "aValue");
উত্তর:
আপডেট: গত কয়েক বছরে ল্যান্ডস্কেপ ব্যাপক পরিবর্তন হয়েছে। আপনি এখন নির্ভরযোগ্যভাবে ব্যবহার করতে পারেন querySelector
এবং এটি কীভাবে করবেন তার জন্য ওয়াজটেকের উত্তরquerySelectorAll
দেখুন ।
এখন jQuery নির্ভরতার প্রয়োজন নেই। আপনি যদি jQuery ব্যবহার করেন তবে দুর্দান্ত ... আপনি যদি না হন তবে আপনাকে আর বৈশিষ্ট্য দ্বারা উপাদান নির্বাচন করার জন্য এটির উপর নির্ভর করতে হবে না।
ভ্যানিলা জাভাস্ক্রিপ্টে এটি করার খুব খুব ছোট উপায় নেই তবে কয়েকটি সমাধান উপলব্ধ।
আপনি উপাদানগুলির মধ্যে লুপিং এবং বৈশিষ্ট্যটি পরীক্ষা করে এটির মতো কিছু করেন
JQuery এর মতো লাইব্রেরি যদি কোনও বিকল্প হয় তবে আপনি এটিকে কিছুটা সহজ করতে পারেন:
$("[myAttribute=value]")
যদি মানটি কোনও বৈধ সিএসএস সনাক্তকারী না হয় (এর মধ্যে ফাঁকা বা বিরামচিহ্ন রয়েছে ইত্যাদি), আপনার মানটির চারপাশে উদ্ধৃতিগুলি প্রয়োজন (সেগুলি একক বা দ্বিগুণ হতে পারে):
$("[myAttribute='my value']")
এছাড়াও আপনি কি করতে পারেন start-with
, ends-with
, contains
, ইত্যাদি ... সেখানে অ্যাট্রিবিউট নির্বাচক জন্য বিভিন্ন অপশন আছে ।
আধুনিক ব্রাউজারগুলি দেশীয় সমর্থন করে querySelectorAll
যাতে আপনি এটি করতে পারেন:
document.querySelectorAll('[data-foo="value"]');
https://developer.mozilla.org/en-US/docs/Web/API/Document.querySelectorAll
ব্রাউজারের সামঞ্জস্যতা সম্পর্কে বিশদ:
অপ্রচলিত ব্রাউজারগুলিকে সমর্থন করতে আপনি jQuery ব্যবহার করতে পারেন (আই 9 এবং তার চেয়ে বেশি পুরানো):
$('[data-foo="value"]');
SyntaxError: An invalid or illegal string was specified
'[data-foo="value"]'
আমরা DOM এ বৈশিষ্ট্য নির্বাচনকারী document.querySelector()
এবং document.querySelectorAll()
পদ্ধতি ব্যবহার করে ব্যবহার করতে পারি ।
আপনার জন্য:
document.querySelector("selector[myAttribute='aValue']");
এবং ব্যবহার করে querySlectorAll()
:
document.querySelectorAll("selector[myAttribute='aValue']");
ইন querySelector()
এবং querySelectorAll()
পদ্ধতি আমরা বস্তু হিসেবে আমরা "সিএসএস" এ নির্বাচন নির্বাচন করতে পারেন।
Https://developer.mozilla.org/en-US/docs/Web/CSS/Atribute_selectors এ "CSS" বৈশিষ্ট্য নির্বাচনকারীদের সম্পর্কে আরও
FindByAttributeValue("Attribute-Name", "Attribute-Value");
পিএস যদি আপনি সঠিক উপাদান-টাইপ জানেন তবে আপনি তৃতীয় প্যারামিটার যুক্ত করুন (অর্থাত্ div, a, p ...etc...
):
FindByAttributeValue("Attribute-Name", "Attribute-Value", "div");
তবে প্রথমে এই ফাংশনটি সংজ্ঞায়িত করুন:
function FindByAttributeValue(attribute, value, element_type) {
element_type = element_type || "*";
var All = document.getElementsByTagName(element_type);
for (var i = 0; i < All.length; i++) {
if (All[i].getAttribute(attribute) == value) { return All[i]; }
}
}
PS মন্তব্য প্রতি সুপারিশ আপডেট।
document.querySelectorAll('[data-foo="value"]');
@ ওয়াজটেক ক্রুসজেউস্কি প্রস্তাবিত স্বীকৃত অ্যাঞ্জার ব্যবহার করে।
আপনি getAttribute ব্যবহার করতে পারেন:
var p = document.getElementById("p");
var alignP = p.getAttribute("align");
https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute
p
ব্যবহার না করে id
বা প্রতিটি ব্যবহার না করেই উপাদানটি নির্বাচন করতে চানp
ক্যোয়ারী নির্বাচক, উদাহরণ ব্যবহার করুন:
document.querySelectorAll(' input[name], [id|=view], [class~=button] ')
input[name]
name
সম্পত্তি সহ উপাদানগুলি ইনপুট করে ।
[id|=view]
আইডি সহ উপাদানগুলি শুরু হয় view-
।
[class~=button]
button
ক্লাস সহ উপাদানসমূহ ।