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.