我正在自定义嵌入的Twitter时间线。我以为他们可以选择删除带有show-replies='false'
的@回复,但这似乎不起作用。
我可以使用jquery删除"回复@twitter"div,方法是:
jQuery('.twitter-block').find('.twitter-timeline').contents().find('div.timeline-Tweet-inReplyTo').css('display', 'none');
但我无法删除后面紧跟的@reply<p>
文本。
这是html。。。
<div class="timeline-Tweet-inReplyTo"><a class="u-linkBlend" data-scribe="element:in_reply_to_user_link" href="https://twitter.com/_/status/######">
Replying to @twitter
</a>
</div>
<p class="timeline-Tweet-text" lang="en" dir="ltr" style="margin: 0px;">twit tweet twitter</p>
当前jquery。。。
jQuery('.twitter-block').delegate( '#twitter-widget-0','DOMSubtreeModified propertychange', function(){customizeTweetMedia();} );
var customizeTweetMedia = function()
{
jQuery('.twitter-block').find('.twitter-timeline').contents().find('p.timeline-tweet-text').css('margin', '0');
jQuery('.twitter-block').find('.twitter-timeline').contents().find('img.Avatar').css('display', 'none');
您只需要创建一个不同的选择器来针对p
和前面的div
。
也不是说你可以简化你的逻辑;您不需要contents()
,并且find()
呼叫可以连接在一起。试试这个:
$('.twitter-block').find('.twitter-timeline div.timeline-Tweet-inReplyTo, .twitter-timeline p.timeline-Tweet-text').hide();
jQuery('.twitter-block').find('.twitter-timeline').contents().find('div.timeline-Tweet-inReplyTo').css('display', 'none');
jQuery('.twitter-block').find('.twitter-timeline').contents().find('div.timeline-Tweet-inReplyTo').nextAll('p.timeline-Tweet-text').css('display', 'none');