@TeslaFeo , интересное у вас суждение.
$.get и $([node]).get() - разные вещи. Многие используют доступ к DOM элементу через JS из jQuery объекта как к элементу массива вот так
var element = $('#some-el-by-id')[0];
я же предпочитаю использовать алиас .get(0), мне он кажется более подходящим к стилистике цепочки вызовов jQuery
var element = $('#some-el-by-id').get(0);
Док
Нужно понимать, в каком контексте мы вызываем метод jQuery. В данном случае, контекстом является объект с элементом #ocfilter, согласно этому руководству, этот объект он и вернет, причем, вернет копию удалившегося элемента, что очень удобно.
Очень просто. F12, в консоле пишем
console.log($('a:first').remove())
и смотрим что нам показывает консоль. Если в свойстве length объекта будет 1 - нам вернулся удаленный объект (при условии, что элемент есть в наборе).
Т.к. jQuery не имеет своего метода возвращающего html элемента с ним вместе, то приходится использовать нативное свойство outerHTML
<div id="html-box"><span>Some Text</span></div>
var innerHTML = $('#html-box').html(); // Вернет <span>Some Text</span>
var outerHTML = $('#html-box').get(0).outerHTML; // Вернет <div id="html-box"><span>Some Text</span></div>
Надеюсь, понятно объяснил. Вообще JS - уникальной гибкости язык, при взгляде на код которого не сразу понимаешь что происходит, если его автор любит минимализм и краткость записи.