<th>
জাভাস্ক্রিপ্ট ব্যবহার না করে এবং টেবিলের সমস্ত সারিটি লুপ না করে কীভাবে আমি কোনও HTML টেবিলের সমস্ত সারি মুছব? আমার কাছে খুব বিশাল টেবিল রয়েছে এবং আমি মুছে ফেলার জন্য সারিগুলি লুপ করার সময় ইউআই হিমায়িত করতে চাই না
<th>
জাভাস্ক্রিপ্ট ব্যবহার না করে এবং টেবিলের সমস্ত সারিটি লুপ না করে কীভাবে আমি কোনও HTML টেবিলের সমস্ত সারি মুছব? আমার কাছে খুব বিশাল টেবিল রয়েছে এবং আমি মুছে ফেলার জন্য সারিগুলি লুপ করার সময় ইউআই হিমায়িত করতে চাই না
উত্তর:
<th>
সারিটি একটিতে <thead>
এবং অন্য সারিতে রাখুন <tbody>
তারপরে <tbody>
একটি নতুন, খালি দিয়ে প্রতিস্থাপন করুন ।
অর্থাত্
var new_tbody = document.createElement('tbody');
populate_with_new_rows(new_tbody);
old_tbody.parentNode.replaceChild(new_tbody, old_tbody)
document.getElementById('tbody').innerHTML = '';
এটি সমস্ত সারি সরিয়ে ফেলবে:
$("#table_of_items tr").remove();
$("tbody#id tr").remove()
খুব অশোধিত, তবে এটি কাজ করে:
var Table = document.getElementById("mytable");
Table.innerHTML = "";
<th>
একটি নেস্টেড <thead>
। যাইহোক টেবিলটি তৈরির এটি সম্ভবত সবচেয়ে সিনট্যাক্টিক্যালি সঠিক উপায়।
var bodyRef = document.getElementById('myTable').getElementsByTagName('tbody')[0];
bodyRef.innerHTML = '';
সাধারণ ভুলগুলির জন্য নজর রাখার বিষয়গুলি :
যদি আপনার সূচনা সূচক 0 হয় (বা শুরু থেকে কিছু সূচক), তবে, সঠিক কোডটি হ'ল:
var tableHeaderRowCount = 1;
var table = document.getElementById('WRITE_YOUR_HTML_TABLE_NAME_HERE');
var rowCount = table.rows.length;
for (var i = tableHeaderRowCount; i < rowCount; i++) {
table.deleteRow(tableHeaderRowCount);
}
মন্তব্য
১. মোছার জন্য আর্গুমেন্ট স্থির করা হয়েছে
এটি যেহেতু আমরা একটি সারি মুছব তাই সারি সংখ্যা হ্রাস পাবে required
অর্থাত্; আমি পৌঁছানোর সময় পর্যন্ত (rows.length - 1), বা এর আগেও এই সারিটি মোছার আগেই আপনার কিছু ত্রুটি / ব্যতিক্রম (বা একটি নীরব) থাকবে will
২. লুপটি শুরু
হওয়ার আগেই রোউকাউন্টটি নেওয়া হয় যেহেতু আমরা "টেবিল.রোজ.লেনথ" মুছে ফেলতে থাকি তাই আবার আপনার কিছু সমস্যা রয়েছে যা কেবল বিজোড় বা এমনকি সারিগুলি কেবল মুছে ফেলা হবে।
আশা করি এইটি কাজ করবে.
এটি একটি পুরানো প্রশ্ন, তবে আমি সম্প্রতি একটি একই সমস্যা ছিল।
এটি সমাধানের জন্য আমি এই কোডটি লিখেছি:
var elmtTable = document.getElementById('TABLE_ID_HERE');
var tableRows = elmtTable.getElementsByTagName('tr');
var rowCount = tableRows.length;
for (var x=rowCount-1; x>0; x--) {
elmtTable.removeChild(tableRows[x]);
}
এটি প্রথমটি বাদে সমস্ত সারি সরিয়ে ফেলবে।
চিয়ার্স!
ধরে নিচ্ছি আপনার কাছে কেবল একটি টেবিল রয়েছে যাতে আপনি এটি কেবল প্রকারের সাথে উল্লেখ করতে পারেন। আপনি যদি শিরোনামগুলি মুছতে না চান:
$("tbody").children().remove()
অন্যথায়:
$("table").children().remove()
আশা করি এটা সাহায্য করবে!
@ স্ট্র্যাট পোস্ট করা প্রথম এবং সমাধান ব্যতীত আমাকে সমস্ত সারি মুছতে হবে তবে তার ফলশ্রুতি ছাড়াই ব্যর্থ হয়েছে (নোডের রেফারেন্সিং যেখানে এটি বিদ্যমান নেই)। নিম্নলিখিত আমার জন্য কাজ করে।
var myTable = document.getElementById("myTable");
var rowCount = myTable.rows.length;
for (var x=rowCount-1; x>0; x--) {
myTable.deleteRow(x);
}
এটি স্থানীয় এইচটিএমএল টেবিলটিতে পুনরাবৃত্তি মুছে ফেলার কাজ করবে
document.querySelectorAll("table tbody tr").forEach(function(e){e.remove()})
নীচে দেওয়া কোডটি দুর্দান্ত কাজ করে। এটি শিরোনাম সারি বাদে সমস্ত সারি সরিয়ে দেয়। সুতরাং এই কোড সত্যিই টি
$("#Your_Table tr>td").remove();
আপনি যদি সরাতে না চান th
এবং কেবল সারিগুলি সরাতে চান তবে এটি নিখুঁতভাবে কাজ করছে।
var tb = document.getElementById('tableId');
while(tb.rows.length > 1) {
tb.deleteRow(1);
}
এটি সম্পর্কে:
পৃষ্ঠাটি প্রথম লোড হওয়ার পরে এটি করুন:
var myTable = document.getElementById("myTable");
myTable.oldHTML=myTable.innerHTML;
তারপরে আপনি যখন টেবিলটি সাফ করতে চান:
myTable.innerHTML=myTable.oldHTML;
ফলাফলটি আপনার শিরোনাম সারি (গুলি) হয়ে উঠবে যদি আপনি কেবল এটিই শুরু করেছিলেন, পারফরম্যান্সটি লুপিংয়ের চেয়ে নাটকীয়ভাবে দ্রুত।
টবি ট্যাগ কিছু আইডি Assing। অর্থাত্ এর পরে, নিম্নলিখিত লাইনে সারণী শিরোনাম / পাদচরণগুলি ধরে রাখতে হবে এবং সমস্ত সারি সরিয়ে ফেলা উচিত।
document.getElementById("yourID").innerHTML="";
এবং, আপনি যদি পুরো টেবিলটি (শিরোনাম / সারি / পাদলেখ) মুছে ফেলতে চান তবে টেবিল স্তরে আইডি সেট করুন অর্থাৎ
আপনার যদি <th>
অ-সারিগুলির তুলনায় অনেক কম সারি থাকে <th>
, আপনি সমস্ত <th>
সারিগুলিকে স্ট্রিংয়ে সংগ্রহ করতে পারেন, পুরো টেবিলটি সরিয়ে ফেলতে পারেন এবং তারপরে <table>thstring</table>
টেবিলটি কোথায় ছিল তা লিখতে পারেন।
সম্পাদনা: যেখানে, স্পষ্টতই, "থ্রাস্টিং" হ'ল সারিগুলির সমস্তগুলির জন্য এইচটিএমএল <th>
।
<th>
ডিওএম উপাদান হিসাবে গুলি সংগ্রহ করুন , টেবিলের অন্তর্নিহিত এইচটিএমএল সাফ করুন, তারপরে <th>
আবার এটি যুক্ত করুন ।
এটি টেবিলের জন্য কোনও বৈচিত্র্য প্রকাশ না করেই IE এ কাজ করে এবং সমস্ত সারি মুছে ফেলবে:
for(var i = 0; i < resultsTable.rows.length;)
{
resultsTable.deleteRow(i);
}
আপনার টিডির জন্য একটি আইডি বা একটি ক্লাস অর্পণ করুন।
document.querySelector("#tbodyId").remove();
document.querySelectorAll(".tbodyClass").remove();
আপনি নিজের আইডি বা শ্রেণীর নাম কীভাবে চান তা নামক করতে পারেন, অগত্যা #tbodyId
বা নয় .tbodyClass
।
এটি একটি সরল কোড যা আমি সবেমাত্র শিরোনাম সারিটি (প্রথমটি) অপসারণ না করে এটি সমাধান করার জন্য লিখেছি।
var Tbl = document.getElementById('tblId');
while(Tbl.childNodes.length>2){Tbl.removeChild(Tbl.lastChild);}
আশা করি এটা তোমার জন্য কাজ করবে!!.
শুধু টেবিলের বডি সাফ করুন।
$("#tblbody").html("");
কনস্ট টেবিল = ডকুমেন্ট.কোয়ারী নির্বাচনকারী ('টেবিল'); table.innerHTML === ''? নাল: টেবিল.इनার এইচটিএমএল = ''; উপরের জাভাস্ক্রিপ্ট আমার জন্য ভাল কাজ করেছে। এটি টেবিলে কোনও ডেটা রয়েছে কিনা তা যাচাই করে এবং তারপরে শিরোনাম সহ সমস্ত কিছু সাফ করে।
removeChild
কেবল একটি একক ডিওএম উপাদান লাগে।