The first line is misleading, as the object it references is not a jQuery object, but a plain text HTML string. Hence it has no additional properties other than those that come from the String class.
This exercise has two steps, to start with, the first is to create a paragraph element that we insert into the DOM after
The object is created right inside the argument for the
after() method. It is a plain string, here, but as soon as it is inserted it becomes a selectable P-node object that we can see on the screen.
The second step targets this object with a P-node selector,
$('p') which will find this object and move it.
The third step (lesson 5, I believe?) has us create an object that will reside in memory, at first, and not be visible on the screen. This is similar to what you have done above. But, to keep it in the same scope, we should create it inside the ready handler, along with the rest of our code.
$p = $('<p>').text("Hello");
In the above we created a jQuery object, a single paragraph element. When we run this code, we will see the paragraph beneath
div#two, but if you comment that line out for a moment and run again, you will see it beneath
Notice that it is one unique and dynamic object that we can move around at will, or remove from the page then re-insert at a later time. I like to call this a jQuery Sprite.
We are self-learning here, not really pupils in a class or with a full curricullum. Be sure to touch on all the web fundamentals before trying to move too far forward on jQuery alone. You'll be hitting a lot of walls if you don't.