2011-04-26 4 views
2

Quelles sont les fonctions équivalentes de jQuery find() et attr() dans prototypejs?find() et attr() dans prototypejs

Quelqu'un pourrait m'aider à convertir ce code en utilisant prototypejs?

var className = $(this).find('.myBtn').attr('class'); 
$(this).find('.tab').attr('class', className + ' current'); 

Merci d'avance!

+0

N'utilisez pas de prototype;) – ThiefMaster

+0

Oui, j'utilise jQuery. Le code existant utilise prototypejs et je dois le modifier. –

+0

Migrez-le vers jQuery;) – ThiefMaster

Répondre

1

Vous pouvez utiliser .down() pour trouver un descendant et readAttribute()/writeAttribute() pour lire/modifier des attributs.

Ou vous pouvez simplement rester avec jQuery. ;)

+3

Element.select() est plus similaire comme indiqué par l'autre réponse, car il trouve tous les éléments correspondant, tandis que .down() seulement le premier N correspondant. – lethalman

+0

Comme indiqué ci-dessus .down() ne trouve que le premier, pas tous les descendants correspondants –

10

Pour d'autres cherchant et atterrissant ici: Je pense que Element.select() de Prototype serait un meilleur ajustement comme un équivalent jQuery $.find().

1

Il existe une différence notable entre le prototype select() et down(). Lorsque vous utilisez select(), il renvoie le résultat encapsulé dans un objet tableau. Mais si vous utilisez down(), l'élément sélectionné (étant donné qu'il n'y a qu'un seul élément) aboutira à cet élément.

enter image description here

+1

Si vous aviez également répondu à la partie sur la lecture et la modification des attributs, je dirais que cela devrait être la réponse acceptée. – Eric

0
$('element_id').readAttribute('attribute_name'); //- returns the value 
$('element_id').writeAttribute('attribute_name', 'new value'); // writes the value 

http://api.prototypejs.org a un ensemble agréable et succinct de la documentation, il vaut vraiment la peine d'une lecture. Prototype a une approche très disciplinée pour travailler avec la page, et pour travailler dans les données, une grande partie de ces dernières volées libéralement du module Enumerable de Ruby. jQuery + Underscore est égal à Prototype.