It seems that some jQuery functions will return one element, while others will return a set.
For example, in the following statement:
$('.class1').parents(".class2").next().next().find(".class3").show(500);
$('.class1'), parents(".class2"), find(".class3") will return a set.
while next() will return a single element.
It is really hard to identify which will return a single element, and which will return a set. Sometimes, its name will imply, such as parents() will return a set, but parent() will return a single element unless its is called on a set. But sometimes, the name is also ambiguous, such as find(). And it seems that one need to read the document carefully to identify this, this is no highlighted "Return result:" in the help document of jQuery such as https://api.jquery.com/next/ and https://api.jquery.com/parent/, the only clue is the description like 'Get the parent of each element' or 'Get the immediately following sibling of' to indicate a single element, and 'Get the descendants of each element' to indicate a set.
So, my question is, is there a simple way to easily identify whether a jQuery function will return a single value or a set?
I think the short and simple answer is No.
There is no intuitive way to tell if a jQuery selector will return a single element or a set as you mentioned in your post... the same selector can return either.
It truly depends on the construction of the DOM.
For instance, in the expression:
$('.class1').parents(".class2").next().next().find(".class3").show(500);
This will return only 1 element, if there happens to be only one element with class name = "class3" under the parent of $('.class1').parents(".class2").next().next()
To force this same expression to return only the first, you have to specify more restrictions on the selector:
$('.class1').parents(".class2").next().next().find(".class3:nth-child(1)").show(500);