2012-11-13 3 views
0

Ce code actuel ne fonctionne pas.jQuery sélectionnez la première image src dans le conteneur avec l'extension de nom de fichier image

$loaded_data.find('img').match(/\.(jpg|png|gif)/i).first().attr('src')

Il permettra img au poste de .php?image=qweqweqwe2qe2ad etc.

+0

* Il permettra img avec le poste de '.php? image = qweqweqwe2qe2ad' etc. * Que voulez-vous dire? – VisioN

+0

Certaines images dans mon contenu chargé ont la valeur src de 'loadimage.php? Id = 123123' Je ne veux pas sélectionner ces images Je veux seulement' img' avec le 'src' de .jpg etc ... – chris

Répondre

1

Il n'y a pas de méthode match API jQuery si la chaîne dans votre code va jeter erreur. méthode

filtre de jQuery() peut aider

var $image_first= $loaded_data.find('img').filter(function(){ 
     return $(this).attr('src').match(/\.(jpg|png|gif)$/i) 
}).first(); 

$image_first.doSomething() 
+0

Comment est-ce que je réécrirais cela avec mon conteneur de données ... Par exemple, comme ci-dessus? Serais-je juste écrire '$ loaded_data. find ('img'). filter (... ' – chris

+0

oui ....... exactement – charlietfl

+0

Le code que j'ai utilisé était celui-ci, mais il ne semble pas fonctionner. Désolé si je suis incompétent ..' loaded_data.find de $ ('img') filtre (function() { \t \t \t \t \t var $ image_first = $ (this) .attr ('src') match (/ \ (jpg |... .png | gif) $/i) \t \t \t \t \t}). First() ' – chris

1

Ajouter « $ » à la fin de votre expression pour vous assurer que la chaîne se termine par point + un de vos extensions autorisées.

/\.(jpg|png|gif)$/i 
+0

Maintenant le script ne fonctionne pas du tout :( – chris

+0

+1 pour aider à la bonne expression rationnelle – chris