jQuery: নির্বাচিত উপাদান ট্যাগ নাম পান


641

ট্যাগ নাম পাওয়ার কোনও সহজ উপায় আছে?

উদাহরণস্বরূপ, যদি আমাকে $('a')কোনও ফাংশন দেওয়া হয় তবে আমি পেতে চাই 'a'


উত্তর:


1032

আপনি কল করতে পারেন .prop("tagName")। উদাহরণ:

jQuery("<a>").prop("tagName"); //==> "A"
jQuery("<h1>").prop("tagName"); //==> "H1"
jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"


যদি লেখাটি .prop("tagName")ক্লান্তিকর হয় তবে আপনি এর মতো একটি কাস্টম ফাংশন তৈরি করতে পারেন:

jQuery.fn.tagName = function() {
  return this.prop("tagName");
};

উদাহরণ:

jQuery("<a>").tagName(); //==> "A"
jQuery("<h1>").tagName(); //==> "H1"
jQuery("<coolTagName999>").tagName(); //==> "COOLTAGNAME999"


নোট করুন যে ট্যাগগুলির নামগুলি, কনভেনশন অনুসারে, ক্যাপিটালাইজড ফিরে আসল । আপনি যদি ফেরত ট্যাগের নামটি সমস্ত ছোট হাতের অক্ষরে রাখতে চান তবে আপনি কাস্টম ফাংশনটি এ জাতীয় সম্পাদনা করতে পারেন:

jQuery.fn.tagNameLowerCase = function() {
  return this.prop("tagName").toLowerCase();
};

উদাহরণ:

jQuery("<a>").tagNameLowerCase(); //==> "a"
jQuery("<h1>").tagNameLowerCase(); //==> "h1"
jQuery("<coolTagName999>").tagNameLowerCase(); //==> "cooltagname999"

18
JQuery 1.6 হিসাবে, এটি হওয়া উচিত .prop
রকেট হাজমত

3
মূলধন কনভেনশন কি সমস্ত ব্রাউজার অনুসরণ করে? যদি তা না হয় তবে কি jQuery এটিকে স্বাভাবিক করে তোলে?
কলম্ব

8
ট্যাগনামটি ডিওএম স্পিকার অংশ এবং সর্বদা মূলধনযুক্ত।
tilleryj

নোট করুন যে স্ট্রিংটি ফিরে এসেছে সেগুলি ক্যাপিটাল লেটারে রয়েছে। আপনি উদাহরণস্বরূপ "ডিভ" বা "এ" এর সাথে তুলনা করার চেষ্টা করলে এটি গোটচা হবে।
হার্টলে ব্রডি

3
কোনও ট্যাগের নামের সাথে তুলনা করার সময় ব্যবহার করা toLowerCase()বা toUpperCase()সহায়ক হতে পারে prop('tagName')if($("my_selector").prop("tagName").toLowerCase() == 'div')বাif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
এস থিওনগেন

99

আপনি ডোমের nodeNameসম্পত্তি ব্যবহার করতে পারেন :

$(...)[0].nodeName

ধন্যবাদ। দুর্দান্ত কাজ করে - যদিও আমি আরও jQueryish সংস্করণ ব্যবহার করব কারণ আমি এই মুহূর্তে একটি jQuery বিশ্বে আছি।
Configurator

6
খাঁটি জেএস সমাধানগুলি (এটির মতো) সাধারণত jQueryগুলির চেয়ে সাধারণত উচ্চতর হয় বিশেষত যদি তারা ব্রাউজারের সামঞ্জস্যতার সমস্যায় ভুগেন না বা আরও বেশি শব্দভাবাপন্ন হয়।
স্টিভেন লু

25
... এবং বিশেষত those ব্রাউজারের অসম্পূর্ণতা সমস্যার কারণে, যদি কেউ কোনও সমাধান বাছাই করে থাকে এবং ব্রাউজার-অসুবিধাগুলি কীসের জন্য সন্ধান করা উচিত সে বিষয়ে ভালভাবে জানতে না পারলে jQueryগুলি প্রায়শই উচ্চতর হয়। ;)
স্কট

4
আমি এটিকে উচ্চতর বিবেচনা করি কারণ jQuery সংস্করণ কী তা বিবেচ্য নয়, এই সমাধানটি সমস্ত সংস্করণে কাজ করে। +1
স্টিজন ডি উইট

7
বিশেষত যদি আপনি প্রতিটি () - এর মতো পরিস্থিতিতে থাকেন তবে যেখানে ইতিমধ্যে সেখানে থাকা সম্পত্তি পাওয়ার জন্য আপনাকে উপাদানটিকে একটি জেকারি আইটে ফেলে দিতে হবে, যেমন $(this).prop('tagname')। this.nodeName প্রায়শই আরও দক্ষ। +1
কমনপাইক


46

jQuery 1.6+

jQuery('selector').prop("tagName").toLowerCase()

পুরানো সংস্করণ

jQuery('selector').attr("tagName").toLowerCase()

toLowerCase () বাধ্যতামূলক নয়।


আপনি কেন করছেন new String?
রকেট হাজমত

কারণ টুলওয়ারকেস () স্ট্রিংয়ের একটি পদ্ধতি
ডায়রন গ্যালার্ডো

23

এটি আরও একটি উপায়:

$('selector')[0].tagName

সুন্দর! নোডনামের চেয়ে পরিষ্কার এবং আরও ছোট। : পি
ডেনিস98

11

আপনার ব্যবহার করা উচিত নয়jQuery('selector').attr("tagName").toLowerCase() , কারণ এটি কেবল জ্যাকুরির পুরানো সংস্করণগুলিতে কাজ করে।

আপনি যদি নিশ্চিত হন যে আপনি jQuery thats> = সংস্করণ 1.6 এর সংস্করণ ব্যবহার করছেন তবে আপনি ব্যবহার করতে পারেন $('selector').prop("tagName").toLowerCase()


বিঃদ্রঃ :

আপনি ভাবতে পারেন যে প্রত্যেকে এখনই (জানুয়ারী ২০১)) jQuery 1.10+ বা কিছু ব্যবহার করছে, তবে দুর্ভাগ্যক্রমে বাস্তবে এটি ঘটেনি। উদাহরণস্বরূপ, আজও অনেক লোক ড্রুপাল using ব্যবহার করছে এবং ড্রুপাল of এর আজকের প্রতিটি অফিশিয়াল রিলিজে ডিফল্টভাবে jQuery 1.4.4 অন্তর্ভুক্ত রয়েছে।

সুতরাং যদি আপনার প্রকল্পটি jQuery 1.6+ ব্যবহার করছে কিনা তা নির্দিষ্ট করে না জানা থাকে তবে jQuery এর সমস্ত সংস্করণে কাজ করে এমন বিকল্পগুলির মধ্যে একটি ব্যবহার করে বিবেচনা করুন:

বিকল্প 1 :

jQuery('selector')[0].tagName.toLowerCase()

বিকল্প 2

jQuery('selector')[0].nodeName.toLowerCase()

0

নোডনেম আপনাকে বড় হাতের মধ্যে ট্যাগের নাম দেবে, যখন স্থানীয় নাম আপনাকে ছোট হাতের অক্ষর দেবে।

$("yourelement")[0].localName 

আপনাকে দেবে: YOURELEMENT এর পরিবর্তে yourelement

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