[0] jQuery এ ব্যবহার না করে আমি কীভাবে প্রথম উপাদান পাব?


95

আমি jQuery তে নতুন, ক্ষমা চাইছি যদি এটি একটি নির্বোধ প্রশ্ন।

আমি যখন এটি ব্যবহার করি যখন আইডিটি ব্যবহার করে কোনও উপাদান খুঁজে পাওয়া যায়, আমি জানি সর্বদা একটি মিল রয়েছে এবং এটি অ্যাক্সেস করার জন্য আমি সূচকটি ব্যবহার করব [0]। এটি করার আরও ভাল উপায় আছে? যেমন যেমন

var gridHeader = $("#grid_GridHeader")[0];

উত্তর:


101

আপনি .get(0)পাশাপাশি ব্যবহার করতে পারেন তবে ... আইডি দ্বারা পাওয়া একটি উপাদান দিয়ে আপনার এটি করা উচিত নয়, এটি সর্বদা অনন্য হওয়া উচিত । আমি আশা করছি এটি উদাহরণের মধ্যে কেবল একটি তদারকি ... যদি এটি আপনার প্রকৃত পৃষ্ঠায় হয় তবে আপনাকে এটি ঠিক করতে হবে যাতে আপনার আইডিগুলি অনন্য এবং তার পরিবর্তে কোনও শ্রেণি (বা অন্য কোনও বৈশিষ্ট্য) ব্যবহার করা উচিত।

.get()(যেমন [0]) আপনি ডিওএম উপাদানটি পান, যদি আপনি jQuery অবজেক্ট ব্যবহার করতে চান .eq(0)বা .first()তার পরিবর্তে :)


17
তা বাদে$("#id") /* jQuery object */ != $("#id").get(0) /* DOM Object */
BrunoLM

9
@ ব্রুনোএলএম - আপনি যদি কোনও ডিওএম উপাদান চান document.getElementById('id'), তবে কেবল এটি ফেলে দেওয়ার জন্য কোনও জিকুয়রি অবজেক্ট তৈরি করবেন না ... এটি নির্বাচক ইঞ্জিন থেকে অবজেক্ট র‌্যাপার পর্যন্ত অত্যন্ত ব্যর্থ, এটি কোনও অকারণে ছাড়াই :)
নিক ক্র্যাভার

নিক আমি সম্মতি জানাই, সম্ভবত আমি কেবল কিছু করার জন্য jquery ব্যবহার করার চেয়ে মূর্খ হয়ে যাচ্ছিলাম।
রুবানস

4
@ নিকক্রাভার - এর জন্য ধন্যবাদ আমি শুধু একটি গুচ্ছ প্রতিস্থাপিত document.getElementById('id')সঙ্গে $('#id')[0]কিন্তু ভালো লাগে নি [0]। অপব্যয় সম্পর্কে আপনার মন্তব্য আমাকে সংজ্ঞায়িত করতে ভাবতে বাধ্য করেছে $0 = function(id){return document.getElementById(id);}এবং এখন আমি $0('id')আরও ভাল পছন্দ করি । $('#id')$#('id')
চরিত্রের

4
যদি এই পদ্ধতিগুলির কোনও বৈকল্পিক উপস্থিত থাকে যে একটি ফাঁকা ফলাফল সেট থেকে মিথ্যা মানটি ফিরে এসেছে।
স্টিফেন এম হ্যারিস

27

$("#grid_GridHeader:first") পাশাপাশি কাজ করে।


4
আমি মনে করি এটি এখানে আপনার সমস্যা পরিচালনা করার সেরা উপায়। এটি ভাল পড়েছে, .eq (0) এর বিপরীতে
ডেভ গ্রেগরি

এটা তোলে হয় কর্মক্ষমতা কারণে সবচেয়ে ভালো উপায় খুব (যেমন আপনি 1000 সারি সঙ্গে একটি টেবিল আছে, একটি jQuery বস্তুর তাদের সব থেকে গঠন করা কোন প্রয়োজন)
অ্যালেক্স

18

আপনি প্রথম পদ্ধতিটি ব্যবহার করতে পারেন:

$('li').first()

http://api.jquery.com/first/

বিটিডব্লিউ আমি নিক ক্র্যাভারের সাথে একমত - ডকুমেন্ট.জেট এলিমেন্টবাইআইডি () ব্যবহার করুন ...


4
কোনও উপাদান না পাওয়া গেলে এটি খালি অ্যারেটি ফেরত দেয়। যেমন যুক্তিবিজ্ঞান বিবৃতি ব্যবহার সতর্কতা অবলম্বন করা আবশ্যক []করতে ইচ্ছা Eval true
অ্যাশলে

4

এই ধারণাটি নিয়ে যে কেবলমাত্র একটি উপাদান রয়েছে:

 $("#grid_GridHeader")[0]
 $("#grid_GridHeader").get(0)
 $("#grid_GridHeader").get()

... সমস্ত সমতুল্য, একক অন্তর্নিহিত উপাদান ফিরে।

JQuery উত্স কোড থেকে আপনি দেখতে পাচ্ছেন যে get(0)কভারগুলির নীচে মূলত [0]পদ্ধতির মতো একই জিনিসটি করা হয় :

 // Return just the object
 ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );

(আইটেমটি প্রথম আইটেমটি পাওয়া যায় না বলে মনে হয় না) ব্যতীত অন্য সমস্ত কিছুর জন্য ধন্যবাদ।
রুবানস

আসলে আমি কেন নিক
ক্রেভের


3

আপনি প্রথম নির্বাচক ব্যবহার করতে পারেন।

var header = $('.header:first')

একক উপাদান সহ একটি অ্যারে প্রদান করে।
নিতিন

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