Why dynamically created div element is throwing error when I'm adding id to it?

Why dynamically created div element is throwing error when I'm adding id to it?

In below example, I've highlighted two of the lines, Ist one is working but another one is not working unless I would add $() around it.

            var $tableParent = $myTable.parent();
            <!-- Following would work -->
            $divParent.attr('id','parentDiv');

            <!-- create a new element -->
            var $newDivElement = document.createElement('div');
            <!-- $newDivElement.attr('id','dynamicdiv'); --> <!-- why this is not working ??? -->
            $($newDivElement).attr('id','dynamicdiv');
            $newDivElement.innerHTML = "Hi! I am a dynamically filled div";

Thanks in advance :)