jQuery - একটি উপাদান ভিতরে থেকে উপাদান নির্বাচন


95

আসুন বলি যে আমার এইরকম একটি মার্কআপ রয়েছে:

<div id="foo">
  ...
  <span id="moo">
    ...
  </span>
  ...
</div>

এবং আমি #moo নির্বাচন করতে চাই।

কেন $('#foo').find('span')কাজ করে, কিন্তু $('span', $('#foo'));হয় না?


10
কেন হবে না $('#moo')? ;) বিটিডব্লিউ। এটি কাজ করে: jsfiddle.net/fkling/k5X2r
ফেলিক্স ক্লিং

আমি কেন জানি না তবে নির্বাচিত স্প্যানটিতে যে ফাংশনটি হুক করেছি তা পৃষ্ঠার সমস্ত স্প্যানগুলিতে প্রয়োগ করা হয়, কেবল #foo এর ভিতরে থাকা নয় :(
অ্যালেক্স

4
আপনি যখন ইতিমধ্যে কোনও ভেরিতে উপাদানটি নির্বাচন করেছেন তখন কী হবে, উদাহরণস্বরূপ আপনি var ele = $("div #foo")কীভাবে এখান থেকে
মুরতে পারেন

উত্তর:


130

আপনি এগুলির যে কোনও একটি ব্যবহার করতে পারেন [দ্রুত থেকে শুরু করে]

$("#moo") > $("#foo #moo") > $("div#foo span#moo") > $("#foo span") > $("#foo > #moo")

এক নজর দেখে নাও


4
আমার মনে হয় তৃতীয়টি স্প্যান হওয়া উচিত # মূ স্প্যান নয় # ফু?
xr280xr

60

আসলে, $ ('# আইডি', এটি); শুধু তাত্ক্ষণিক শিশু নয়, কোনও বংশধর পর্যায়ে # আইডি নির্বাচন করবে। পরিবর্তে এটি চেষ্টা করুন:

$(this).children('#id');

বা

$("#foo > #moo")

বা

$("#foo > span")

এটি কোনও কিছুই নির্বাচন করবে না কারণ উপাদানটির আইডি রয়েছে moo , ক্লাস নয় not
ফেলিক্স ক্লিং

4
এটি এতই টুকুনি .children()এবং .find()যে DOM সাব-ট্রি নিচে শুধুমাত্র এক স্তর সাবেক ভ্রমনের ছাড়া একই রকম।
কেভিন

10

কেন শুধু ব্যবহার করবেন না:

$("#foo span")

বা

$("#foo > span")

$('span', $('#foo')); আমার মেশিনে কাজ করে;)


$($(elementA), 'tr#' + key + ' span')আমার জন্য কাজ করছে না (jQuery 1.10.2)
কোডি

9

আপনি findঅন্যটির মধ্যে একটি উপাদান নির্বাচন করতে বিকল্পটি ব্যবহার করতে পারেন । উদাহরণস্বরূপ, একটি নির্দিষ্ট ডিভিতে আইডি txtName সহ কোনও উপাদান সন্ধান করতে আপনি পছন্দ মতো ব্যবহার করতে পারেন

var name = $('#div1').find('#txtName').val();

6

- এখানে একটি চেহারা আছে একটি উপাদান এর একটি উপ-উপাদান ক্যোয়ারীতে :

$(document.getElementById('parentid')).find('div#' + divID + ' span.child');


3

.... তবে $ ('স্প্যান', $ ('# ফু')); কাজ করে না?

এই পদ্ধতিটি নির্বাচক প্রসঙ্গ সরবরাহ হিসাবে ডাকা হয় ।

এতে আপনি jQuery নির্বাচককে দ্বিতীয় যুক্তি সরবরাহ করেন । এটি কোনও সিএসএস অবজেক্ট স্ট্রিং হতে পারে ঠিক যেমন আপনি সরাসরি নির্বাচনের জন্য বা jQuery উপাদানটির জন্য পাস করেন।

যেমন

$("span",".cont1").css("background", '#F00');

উপরের লাইনটি ধারকটির মধ্যে থাকা সমস্ত স্প্যান নির্বাচন করবে যাতে ক্লাসটির নাম থাকবে cont1

ডেমো


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