এটির পরিবর্তে কোনও উপাদান এর ভিত্তিতে কোনও উপাদান খুঁজে পাওয়া সম্ভব কিনা তা কি আমাকে বলতে পারেন? আইডি বা ক্লাসের ?
আমি এমন উপাদানগুলির সন্ধানের চেষ্টা করছি যাগুলির পৃথক ক্লাস বা আইডি নেই। (তারপরে আমার তখন সেই উপাদানটির পিতামাতার সন্ধান করা উচিত))
এটির পরিবর্তে কোনও উপাদান এর ভিত্তিতে কোনও উপাদান খুঁজে পাওয়া সম্ভব কিনা তা কি আমাকে বলতে পারেন? আইডি বা ক্লাসের ?
আমি এমন উপাদানগুলির সন্ধানের চেষ্টা করছি যাগুলির পৃথক ক্লাস বা আইডি নেই। (তারপরে আমার তখন সেই উপাদানটির পিতামাতার সন্ধান করা উচিত))
উত্তর:
আপনি :containsনির্বাচককে তাদের সামগ্রীর উপর ভিত্তি করে উপাদানগুলি পেতে ব্যবহার করতে পারেন ।
$('div:contains("test")').css('background-color', 'red');
<div>This is a test</div>
<div>Another Div</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
.filterপরিবর্তে আপনাকে ব্যবহার করতে হবে। $('div').filter(function(){ return $(this).text().toLowerCase() === 'test';})
$('div:contains( "test" )').css('background-color', 'red');
JQuery ডকুমেন্টেশনে এটি বলে:
মেলানো পাঠ্যটি সেই উপাদানটির বংশধরদের মধ্যে বা কোনও সংমিশ্রণে নির্বাচিত উপাদানটির মধ্যে সরাসরি উপস্থিত হতে পারে
অতএব এটি আপনি যথেষ্ট পরিমাণে :contains() নির্বাচক ব্যবহার করেন না , আপনি যে পাঠ্যের সন্ধান করছেন সেটি আপনার জন্য যে উপাদানটির লক্ষ্যবস্তু রয়েছে তার প্রত্যক্ষ সামগ্রী কিনা তাও পরীক্ষা করে দেখতে হবে:
function findElementByText(text) {
var jSpot = $("b:contains(" + text + ")")
.filter(function() { return $(this).children().length === 0;})
.parent(); // because you asked the parent of that element
return jSpot;
}
<li>Hello <a href='#'>World</a>, How Are You. । এখানে যদি Howঅনুসন্ধান করা হয় তবে শর্তটি ব্যর্থ হবে বলে আমি মনে করি।
ফেলাস, আমি জানি এটি পুরানো তবে ওহে আমি এই সমাধানটি করেছি যা আমি মনে করি সবার চেয়ে ভাল কাজ করে। প্রথম এবং সর্বাগ্রে কেস সেনসিটিভিটি কাটিয়ে উঠেছে যা jquery: রয়েছে () এর সাথে প্রেরণ করা হয়েছে:
var text = "text";
var search = $( "ul li label" ).filter( function ()
{
return $( this ).text().toLowerCase().indexOf( text.toLowerCase() ) >= 0;
}).first(); // Returns the first element that matches the text. You can return the last one with .last()
আশা করি অদূর ভবিষ্যতে কেউ এটি সহায়ক বলে মনে করেছেন।
.contents().filterএটি শিশুদের জন্য কাজ করবে না
রকেটের উত্তর কার্যকর হয় না।
<div>hhhhhh
<div>This is a test</div>
<div>Another Div</div>
</div>
আমি কেবল এখানে তার ডেমোটি সংশোধন করেছি এবং আপনি দেখতে পারবেন যে ডমটি নির্বাচন করা হয়েছে।
$('div:contains("test"):last').css('background-color', 'red');
এটি ঠিক করার জন্য কোডটিতে " : শেষ " নির্বাচক যুক্ত করুন।
আমার মতে সেরা উপায়।
$.fn.findByContentText = function (text) {
return $(this).contents().filter(function () {
return $(this).text().trim() == text.trim();
});
};
হ্যাঁ, jQuery containsনির্বাচনকারী ব্যবহার করুন ।
নিম্নলিখিত jQuery ডিভ নোডগুলি নির্বাচন করে যেখানে পাঠ্য রয়েছে তবে তাদের কোনও সন্তান নেই, যা ডিওএম গাছের পাতার নোড।
$('div:contains("test"):not(:has(*))').css('background-color', 'red');
<div>div1
<div>This is a test, nested in div1</div>
<div>Nested in div1<div>
</div>
<div>div2 test
<div>This is another test, nested in div2</div>
<div>Nested in div2</div>
</div>
<div>
div3
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>