Quina diferència hi ha entre .has i .find en jQuery?


Resposta 1:

.has () retorna un nou objecte jQuery que és un subconjunt de l'objecte original sobre el qual es diu, que només inclou elements amb descendents que coincideixin amb el selector donat.

Suposem que volíeu trobar tots els paràgrafs que hi tinguin enllaços. Us faríeu servir:

var $ paràgrafs = $ ('p'); var $ paragrafesWithLinks = $ paragrafs.has ('a');

El mètode .find (), en lloc de retornar un subconjunt de l'objecte al qual s'anomena, retorna un objecte jQuery que representa els elements que coincideixen amb el selector donat que són descendents de l'objecte original.

Així, de manera similar a l’exemple anterior, en lloc de seleccionar els paràgrafs que hi ha enllaços, en lloc d’obtenir els enllaços mateixos que es troben dins dels paràgrafs:

var $ paràgrafs = $ ('p'); var $ linksInParagraphs = $ paragraphs.find ('a');