使用jQuery删除嵌入式Twitter时间轴中的@reply

时间:2018-11-28 13:39:48

标签: jquery twitter

我正在自定义我的嵌入式Twitter时间轴。我认为可以选择使用show-replies='false'删除@replies,但这似乎不起作用。

我可以使用以下方法删除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');

2 个答案:

答案 0 :(得分:0)

您只需要创建一个不同的选择器来定位p和前面的div

并不是说您可以简化逻辑;您不需要contents(),并且find()呼叫可以合并在一起。试试这个:

$('.twitter-block').find('.twitter-timeline div.timeline-Tweet-inReplyTo, .twitter-timeline p.timeline-Tweet-text').hide();

答案 1 :(得分:0)

  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');