2012-02-02 28 views
0

我如何使用jQuery从后续的代码删除最后一个·如何使用jQuery来删除最后一个`·`从我的代码

<div class="twtr-tweet-text"> 
<em> 
    <a href="" class="twtr-timestamp" target="_blank">about 1 hour ago</a> 
    · 
    <a href="" class="twtr-reply" target="_blank">reply</a> 
    · 
    <a href="" class="twtr-rt" target="_blank">retweet</a> 
    · 
    <a href="" class="twtr-fav" target="_blank">favorite</a> 
</em> 
</div> 

的HTML是从Twitter拉,所以我无法控制其创作。

+0

你上次说的是什么意思?你在说什么?转推和最爱之间? – 2012-02-02 14:28:16

+0

@ShoaibShaikh是的'''我需要删除 – Cybercampbell 2012-02-02 14:34:51

+0

[考虑使用UL元素的链接列表](http://memegenerator.net/instance/13964090) – 2012-02-02 14:38:01

回答

2

您的.没有包装,因此您需要使用.contents才能获得文本节点。然后,您可以遍历所有文本节点。

$("#twtr-tweet-text").contents().each(function(){ 
    if(this.nodeType == 3){ 
     // text node 
     // do your thing here, check if it's a . etc. 
    } 
}); 
+0

谢谢@詹姆斯任何方式来定位最后实例而不是第三? – Cybercampbell 2012-02-02 14:33:45

+0

3不会得到第三个,'nodeType == 3'表示它是一个文本节点。我可能会通过'contents'向后循环,然后你发现的第一个实际上是最后一个。 – 2012-02-02 14:36:33

+0

非常感谢这么多 – Cybercampbell 2012-02-02 14:44:45

0

位横向解决方案,但中,代替将·分离器在服务器端的,您就可以使用CSS添加:

.twtr-tweet-tex a:before { 
    content:'·'; 
} 

.twtr-tweet-tex em a:first-child:before { 
    content: none; 
} 

那你还不需要将其删除与jQuery。

相关问题