2016-02-04 1 views
0

Je rencontre des problèmes avec un flux Twitter en raison de la manière dont twitter raccourcit les liens et gère les entités multimédia. À l'heure actuelle, si un tweet a une image, le li du tweet dans mon flux est rempli à la fois de l'image et d'un lien vers la page photo de l'image. Je voudrais me débarrasser du lien de l'image. De la façon dont le script est configuré (j'ai travaillé à partir de this one), j'ai commencé par insérer l'URL de l'image (différente de son media_url utilisé pour créer l'image src) dans un fichier de données. attribut source dans la balise image. Cette URL est la même que la valeur href dans le lien dont je veux me débarrasser. Donc j'ai juste besoin de trouver l'attribut data-source (si le tweet en contient un), obtenir sa valeur, trouver la valeur href correspondante, et cacher l'ancre qui le contient.Vérifiez si l'attribut de données existe, recherchez la valeur correspondante dans une autre balise

Malheureusement, je n'ai pas un violon, mais voici un exemple des données de matriçage d'un tweet (je l'ai copié d'une alerte):

<p class="author">TENNIS.com</p> 
The #AusOpen in pictures: all the best images from the season's first Slam. PHOTOS: 
<a href="https://t.co/pbx4viaipB" target="_blank" title="https://t.co/pbx4viaipB">[view]</a> 
<a href="https://t.co/9KaZNWUP8N" target="_blank" title="https://t.co/9KaZNWUP8N">[view]</a> 
<img src='http://pbs.twimg.com/media/CaTVJq4W4AAkQbT.png' data-source='https://t.co/9KaZNWUP8N' /> 
<p class="stamp"><span class="date">February 3, 2016</span> RT <a href="http://twitter.com/Tennis" target="_blank" title="Tennis on Twitter">@Tennis</a> on 2/3</p> 

(Ce premier lien est une partie du tweet le second est l'image déjà intégrée.)

Merci pour toute aide.

Répondre

1

Un cycle simple fera l'affaire.

Pour chaque image, nous prenons le data-source.

Ensuite, nous recherchons tous les liens qui ont comme un href $('a[href="data-source"]');

$(document).ready(function() { 
 
    $('img').each(function(i) { 
 
    $('a[href="' + $(this).attr('data-source') + '"]').hide(); 
 
    }); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p class="author">TENNIS.com</p> 
 
The #AusOpen in pictures: all the best images from the season's first Slam. PHOTOS: 
 
<a href="https://t.co/pbx4viaipB" target="_blank" title="https://t.co/pbx4viaipB">[view]</a> 
 
<a href="https://t.co/9KaZNWUP8N" target="_blank" title="https://t.co/9KaZNWUP8N">[view]</a> 
 
<img src='http://pbs.twimg.com/media/CaTVJq4W4AAkQbT.png' data-source='https://t.co/9KaZNWUP8N' /> 
 
<p class="stamp"><span class="date">February 3, 2016</span> RT <a href="http://twitter.com/Tennis" target="_blank" title="Tennis on Twitter">@Tennis</a> on 2/3</p>

De plus, nous utilisons un cycle ici parce que je présume que vous aurez différents tweets dans votre flux. Sinon, au lieu de each(), vous pouvez sélectionner cette seule image.

+1

Merci beaucoup, Joel. Cela a résolu parfaitement. (et oui, il y a plusieurs tweets) – Beau