JQuery সঙ্গে উপাদান টাইপ পান


308

JQuery ব্যবহার করে, jQuery ব্যবহার করে কোনও উপাদানটির প্রকারটি খুঁজে পাওয়া সম্ভব? উদাহরণস্বরূপ, উপাদানটি একটি ডিভ, স্প্যান, নির্বাচন বা ইনপুট হয়?

উদাহরণস্বরূপ, আমি যদি jQuery এর সাহায্যে একটি ড্রপ-ডাউন তালিকায় মানগুলি লোড করার চেষ্টা করছি তবে একই স্ক্রিপ্টটি রেডিও বোতামগুলির একটি সেটটিতে কোড উত্পন্ন করতে পারে, আমি কি এই জাতীয় কিছু তৈরি করতে পারি:

$('.trigger').live('click', function () {
   var elementType = $(this).prev().attr(WHAT IS IT);
});

ট্রিগার ক্লাসের পাশে একটি বোতামের সাথে একটি ড্রপ-ডাউন তালিকা দেওয়া , আমার elementTypeপরিবর্তনশীলটি selectবোতামটি চাপলে ফিরে আসবে ।


আপনি কি নতুন করে কথা বলতে পারেন? এলিমেন্ট টাইপ বলতে কী বোঝ?
আব্দুল মুনিম


উত্তর:


558

উপাদানটি jQuery উপায়ে পাওয়া:

var elementType = $(this).prev().prop('nodeName');

jQuery ছাড়া একই করছেন

var elementType = this.previousSibling.nodeName;

নির্দিষ্ট উপাদান প্রকারের জন্য পরীক্ষা করা হচ্ছে:

var is_element_input = $(this).prev().is("input"); //true or false

16
কেবল মনে রাখবেন যে .prop () ফাংশনটি কেবল jQuery 1.6 এ যুক্ত হয়েছিল - আপনার ব্যবহৃত সংস্করণটি আপগ্রেড করতে হতে পারে!
xgretsch

পুরানো jQuery 1.3.2 এর সাথে কাজ করেনি, তাই সর্বশেষে আপগ্রেড হয়েছে এবং এটি দুর্দান্ত কাজ করেছে।
দামোদর বাশিয়াল

2
এখানে উল্লিখিত হিসাবে 'ট্যাগনাম' 'নোডনাম' এ পরিবর্তন করে উন্নতি করা যেতে পারে ।
কাইল স্টোফলেট

1
@ কাইলস্টোফলেট - মনে হচ্ছে আপনি ঠিকই আছেন, nodeNameআরও ধরণের উপাদানকে সমর্থন করে এবং আই 5.5 সমর্থন করে কোনও সমস্যা হওয়া উচিত নয়, তাই উপরের উত্তরে পরিবর্তন tagNameকরার কোনও সমস্যা আমি দেখতে পাচ্ছি না nodeName। উভয়ই উপাদানগুলির জন্য ঠিক সূক্ষ্মভাবে কাজ করবে এবং আধুনিককৃতগুলি টেক্সটনোড, বৈশিষ্ট্য ইত্যাদিতেও কাজ করবে।
অ্যাডিনিও

3
কাজ করে তবে পূর্ববর্তী () দ্বারা আমি কিছুটা বিভ্রান্ত হয়ে পড়েছি, যা প্রশ্নের উদাহরণের কোডের জন্য নির্দিষ্ট। মূলত,$(this).is("input");
ফ্যানকি

56

এছাড়াও আপনি ব্যবহার করতে পারেন:

$("#elementId").get(0).tagName

26

আপনার tagNameসম্পত্তি এবং attr('type')ইনপুট ব্যবহার করা উচিত


একটি উদাহরণ এই মন্তব্যকে আরও শক্তিশালী করে তুলবে।
Justapigeon

16

ডিডদেব যেমন চিহ্নিত করেছেন, তবুও আপনাকে ইনপুট ধরণের আলাদা করতে হবে। ঐটাই বলতে হবে,

$(this).prev().prop('tagName');

আপনাকে বলবে input, তবে এটি চেকবক্স / পাঠ্য / রেডিওর মধ্যে পার্থক্য রাখে না। যদি এটি কোনও ইনপুট হয় তবে আপনি এটি ব্যবহার করতে পারেন

$('#elementId').attr('type');

আপনাকে চেকবক্স / পাঠ্য / রেডিও বলতে, যাতে আপনি জানেন যে এটি কী ধরণের নিয়ন্ত্রণ।




3

ট্যাগনামের উপরে নডনাম ব্যবহার করুন:

নোডনেমে ট্যাগনামের সমস্ত কার্যকারিতা রয়েছে এবং আরও কয়েকটি। সুতরাং নোডনাম সর্বদা ভাল পছন্দ।

দেখতে করে DOM কোর

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