2009-03-13 6 views
0

Il n'est actuellement pas si lent que de rendre le site inutilisable, mais en safari mobile sur l'iphone il y a un décalage notable. Existe-t-il un moyen plus simple de faire cela?

« Trouvez div.items qui ont un div.video_guid vide »

Répondre

0

Y at-il des années div avec un video_guid de classe nulle part ailleurs sur la page? Sinon, vous pouvez simplifiez à:

$('div.video_guid:empty'); 

La seule différence entre votre sélecteur et le mien est que le vôtre correspondrait à la mère div.item alors que le mien correspondrait à la div.video_guid réelle. Pour contourner ce problème, une fois mes matchs de sélection, si vous souhaitez effectuer des opérations au parent div.item vous pouvez simplement faire:

$('div.video_guid:empty').each(function() { 
    var container = $(this).parents('div.item'); 
    // do something to the containing div 
}); 

Somme toute, j'attendre à ce que de meilleures performances ..

+0

Oui, ce sont les seuls div.video_guid: vides sur la page. J'étais sous l'impression cependant que la spécification du conteneur dans la performance assistée par sélecteur, à savoir: $ ('# thecontainer div.video_guid: empty'); OU $ ('div.video_guid: empty', '# thecontainer'); Je vais voir si je peux faire des tests, merci! – jackb

+0

C'est en fait correct. Je changerais probablement le mien pour avoir un second argument de #data –

0

Lire this related question. Selon ceci,

$(‘div.item:has(div.video_guid:empty)’, '#data') 

devrait être plus rapide. Étrange, mais apparemment mesurable.