Q:

Why must ".text(x)" and not ".text = x" be used in jQuery?

Assigning like this
$('#myelement').text = 'some text';

has no effect visually.  Is the above ignored by jQuery?
Instead, it should be
$('#myelement').text('some text');

A:

Expanding on my comment in Claudio's message, you are actually replacing the test() function within the collection. Since the next time you call $('#myelement') a new collection is created, you probably will never notice it, but if you store the collection, you'll see the problem:
<span id="myelement">stuff</span>

var mye = $('#myelement');
mye.text = 'nonsense';
mye.text("nonsense");

Given that code, the span text will not be changed.  Comment out the middle line and it will be.
Live demo

