jQuery: একটি সারণীতে সারি সংখ্যা গণনা করুন


উত্তর:


955

এমন একটি নির্বাচক ব্যবহার করুন যা সমস্ত সারি নির্বাচন করবে এবং দৈর্ঘ্যটি নেবে।

var rowCount = $('#myTable tr').length;

দ্রষ্টব্য: এই পদ্ধতির প্রতিটি নেস্টেড টেবিলের সমস্ত টিআরএস গণনা করা হয়!


11
'(' # myTable tr ')। আকার () একই মান প্রদান করবে।
— গ্যারি শাটলার

31
@ গ্যারি - ডক্সটি নির্দেশ করে যে দৈর্ঘ্যের চেয়ে বেশি (-) দৈর্ঘ্যের চেয়ে বেশি পছন্দ হয় কারণ এটি তত দ্রুত।
— tvanfosson

12
.size () অভ্যন্তরীণভাবে।
— দৈর্ঘ্য

2
এটির দৈর্ঘ্যের সম্পত্তি আছে কারণ এটি একটি অ্যারে। JQuery অবজেক্টটি সর্বদা একটি অ্যারের প্রসারিত করেছিল কিনা তা জানার জন্য আমি jQuery এর ইতিহাসের পর্যাপ্ত পরিমাণে জানি না।
— tvanfosson

67
এটি থ্যাডেও ট্রকে গণনা করবে ... length ('# myTable tbody tr') দৈর্ঘ্য; এগুলি কেবল টেবিল বডিতে গণনা করা হবে ..
— ডেভ লরেন্স

178

আপনি যদি ব্যবহার করেন <tbody>বা <tfoot>আপনার টেবিলে, আপনাকে নীচের বাক্য গঠন ব্যবহার করতে হবে বা আপনি একটি ভুল মান পাবেন:

var rowCount = $('#myTable >tbody >tr').length;

1
আমি <tbody> ব্যবহার করছি তবে আমি একই মান
— পেয়েছি


7
@ ডেভলশনে এটি সত্য নয়, দৈর্ঘ্য শূন্যের ভিত্তি নয়, ডকুমেন্টেশন পরীক্ষা করুন: api.jquery.com দৈর্ঘ্য
— মাইকে

1
যখন আপনি টেবিলগুলি নেস্ট করেছেন, এটি কেবলমাত্র নির্দিষ্ট টেবিলের সারিগুলি গণনা করবে, যা আমার প্রয়োজন।
— গিলশালিত

1
@ মত এই user12379095 কিছু: stackoverflow.com/questions/32101764/...
— AntonChanning

49

বিকল্পভাবে ...

var rowCount = $('table#myTable tr:last').index() + 1;

jsFiddle ডেমো

এটি নিশ্চিত করবে যে কোনও নেস্টেড টেবিল-সারিগুলিও গণনা করা হচ্ছে না।


ওহ, কারণ এরপরে সূচি ফেরত -1। চালাক।
— স্যামুয়েল এডউইন ওয়ার্ড

1
ধন্যবাদ। এগুলি খুব কম এবং খুব দূরত্বের কিন্তু চতুর সমাধানগুলি বার বার পিছলে যায়।
— ডেভলশনে

var rowCount = $('table#myTable tr:last').index() + 1;
— ওউদি

<thead>সারি এবং নেস্টেড টেবিল সারিগুলিকে উপেক্ষা করে । খুশী হলাম। jsfiddle.net/6v67a/1576
— গ্রীক্যাট্রিনা

যদি শেষের <td>অভ্যন্তরীণ সারণী থাকে তবে এটি সেই টেবিলের সারি গণনা প্রদান করে! jsfiddle.net/6v67a/1678
— শৌনক শুকলা

32

ভাল, আমি টেবিল থেকে অ্যাটারি সারিগুলি পাই এবং সেই সংগ্রহের জন্য দৈর্ঘ্য পাই:

$("#myTable").attr('rows').length;

আমি মনে করি যে jQuery কম কাজ করে।


2
+1 - আপনি যে টেবিলে থাকা উপাদানটি পাস করেছেন সেই দৃশ্যের জন্য ভাল উদাহরণস্বরূপ var rowCount = $ (উপাদান) .attr ('সারি')। দৈর্ঘ্য;
— নিকোলাস মারে

9
জিকুয়েরি v1.9.0 ব্যবহার করে এবং 'সারিগুলি': $ ("# মাই টেবিল") অ্যাক্সেস করার জন্য আমার প্রপ () ব্যবহার করতে হবে length দৈর্ঘ্য; (ক্রোমিয়াম 24)
— এনভিসিএনভিএন

16

এটি আমার গ্রহণ করা এখানে:

//Helper function that gets a count of all the rows <TR> in a table body <TBODY>
$.fn.rowCount = function() {
    return $('tr', $(this).find('tbody')).length;
};

ব্যবহার:

var rowCount = $('#productTypesTable').rowCount();

খুব সুন্দর ফাংশন @ রিকি জি, বেশ কয়েকটি কাজের জন্য দরকারী উদাহরণটি এই ফাংশনটি ডম এর পরিবর্তে ব্যাকএন্ড থেকে উত্পন্ন এইচটিএমএল জন্যও বলা যেতে পারে .. ধন্যবাদ
— ধাভাল ডেভ


8

যদি কেউ থাকে তবে এটি চেষ্টা করে দেখুন

শিরোনাম ছাড়া

$("#myTable > tbody").children.length

যদি সেখানে শিরোনাম হয়

$("#myTable > tbody").children.length -1

উপভোগ করুন !!!


1
এটি চিডলেন => $ ("# আমার টেবিল> টিডি") এর পরে () নিখোঁজ রয়েছে children বাচ্চাদের () দৈর্ঘ্য
— DrB

1
শিরোনামটি আবদ্ধ <thead>হওয়া উচিত যা আগে আসা উচিত <tbody>। সুতরাং -1 প্রয়োজন হবে না, যদি টেবিলটি মান অনুযায়ী সঠিকভাবে ডিজাইন করা হয়।
— ইলপেল

সমস্যাটি হ'ল, যখন ডেটাবেবলের কোনও রেকর্ড নেই এটি দৈর্ঘ্য 1 হিসাবে দেখায়, কারণ ডেটেবলটি ডেটাটেবলে "বিজোড়" শ্রেণি সহ একটি খালি সারি রেন্ডার করে দেয় .....
— সৈয়দ আলী

আমার কাছে একটি
— ইউজারস্ক্রিপ্টে

7

আমার AJAX রিটার্নে এটি করার একটি উপায়ের দরকার ছিল, তাই আমি এই টুকরোটি লিখেছি:

<p id="num_results">Number of results: <span></span></p>

<div id="results"></div>

<script type="text/javascript">
$(function(){
    ajax();
})

//Function that makes Ajax call out to receive search results
var ajax = function() {
    //Setup Ajax
    $.ajax({
        url: '/path/to/url', //URL to load
        type: 'GET', //Type of Ajax call
        dataType: 'html', //Type of data to be expected on return
        success: function(data) { //Function that manipulates the returned AJAX'ed data
            $('#results').html(data); //Load the data into a HTML holder
            var $el = $('#results'); //jQuery Object that is holding the results
            setTimeout(function(){ //Custom callback function to count the number of results
                callBack($el);
            });
        }
    });
}

//Custom Callback function to return the number of results
var callBack = function(el) {
    var length = $('tr', $(el)).not('tr:first').length; //Count all TR DOM elements, except the first row (which contains the header information)
    $('#num_results span').text(length); //Write the counted results to the DOM
}
</script>

অবশ্যই এটি একটি দ্রুত উদাহরণ, তবে এটি সহায়ক হতে পারে।


6

আমি টেবিলের ভিতরে টেবিলের মধ্যে সারণি এবং কোনও সারি গণনা না করে সারিগুলি গণনা করতে চাইলে এটি সত্যিই ভালভাবে কাজ করতে পেলাম:

var rowCount = $("#tableData > tbody").children().length;

কলামগুলি গণনা করতে এটি কীভাবে সংশোধন করবেন?
— ইপান্ডিট


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