删除/隐藏链接后最后一次出现的字符串


Remove/Hide last occurrence of a string after a link

我有一个wp_nav_menu结构,它输出一个只有a链接的菜单和一个带有链接的后字符串。如何使用 jQuery 删除或隐藏字符串之后的最后一个匹配项(最后一个链接之后的那个)?请参阅下面的代码。

<p id="para"> 
<a href="#">Item One</a> &nbsp;&bull;&nbsp; 
<a href="#">Item Two</a> &nbsp;&bull;&nbsp; 
<a href="#">Item Three</a> &nbsp;&bull;&nbsp;
</p>

我正在尝试删除最后一次出现的" &nbsp;&bull;&nbsp; "。任何帮助将不胜感激。

提前谢谢。

你可以利用 nodeValue

演示:http://jsfiddle.net/7sy9W/

$('#para a:last-child')[0].nextSibling.nodeValue = ""; 

编辑::纯javascript,以防你不使用jquery。其实这可能更好

document.getElementById("para").lastChild.nodeValue = '';

因为你没有显示任何代码......我会给你一个愚蠢的..虽然它有效...

$(document).ready(function() {
var $a = $("#para a") ;
$("#para").empty() ;
$a.each(function() {
  $("#para").append(this);
});
});

JSFIDDLE 演示

idk wat exct 你想要 BT 我已经尝试过用 php 做过一些事情

<?php
$str= '<p id="para"> 
<a href="#">Item One</a> &nbsp;&bull;&nbsp; 
<a href="#">Item Two</a> &nbsp;&bull;&nbsp; 
<a href="#">Item Three</a> &nbsp;&bull;&nbsp;
</p>';
echo substr($str, 0, strrpos( $str, ' ') );
?>

你可以试试这个,

.HTML

<p id="para"> 
    <a href="#">Item One</a><span> &nbsp;&bull;&nbsp; </span>
    <a href="#">Item Two</a> <span>&nbsp;&bull;&nbsp; </span>
    <a href="#">Item Three</a><span> &nbsp;&bull;&nbsp;</span>
</p>

.JS

$(document).ready(function(){
    $('#para a+span').last().hide()
});

http://jsfiddle.net/bPxMj/

编辑

如果无法将额外的数据放置在 span 元素中(如注释中所述),那么您可以尝试

$(document).ready(function(){
    $('#para').contents().each(function(i){
        if(i==$('#para').contents().length-1){
          $(this).remove();
        }
    });
});

http://jsfiddle.net/bPxMj/1/