ฉันมักจะได้รับจากค่าส่งคืน toString () ทำงานในองค์ประกอบ DOM ที่เข้าถึงต่างกัน:
var a = document.querySelector('a');
var img = document.createElement('img');
document.body.innerHTML += '<div id="newthing"></div>';
var div = document.getElementById('newthing');
Object.prototype.toString.call(a);
Object.prototype.toString.call(img);
Object.prototype.toString.call(div);
จากนั้นชิ้นส่วนที่เกี่ยวข้อง:
Object.prototype.toString.call(...).split(' ')[1].slice(0, -1);
ทำงานใน Chrome, FF, Opera, Edge, IE9 + (ใน IE รุ่นเก่าจะส่งคืน "[object Object]")
element.nodeName.match(/\bTBODY\b/i)
หรือelement.nodeName.toLowerCase() == 'tbody'
อื่น ๆได้เสมอ