检查数据属性是否存在,在另一个标记中查找匹配值

时间:2016-02-04 10:18:36

标签: jquery twitter-feed

由于twitter缩短了链接的方式以及它如何处理媒体实体,因此我在推送Twitter时出现问题。现在,如果推文上有一张图片,我的Feed中的推文就会包含图片和图片照片页面的链接。我想摆脱图像链接。

脚本的设置方式(我一直在this one工作),我已经开始插入图像的url(与用于创建图像src的media_url不同)图像标记内的数据源属性。该url与我想要删除的链接中的href值相同。所以我只需要找到data-source属性(如果推文包含一个),获取其值,找到匹配的href值,并隐藏包含它的锚点。

不幸的是,我没有小提琴,但这是一个推文的模板数据的例子(我从警报中复制了它):

<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>

(第一个链接是推文的一部分;第二个链接是已经嵌入的图像。)

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

一个简单的循环就可以了。

对于每张图片,我们抓取$('a[href="data-source"]')

然后我们搜索所有具有href $(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>
each()

另外,我们在这里使用一个循环,因为我假设您的Feed中会有不同的推文。而不是link := MetaLink new metaObject: self; selector: #cachedExecute:; arguments: #(selector); control: #before. (MyClass>>#myMethodSelector) ast link: link. ,您可以选择该单个图像。