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

时间:2013-10-19 10:34:20

标签: javascript php jquery

我有一个wp_nav_menu结构,它输出一个只有一个链接的菜单,还有一个带有链接的后一个字符串。如何使用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;”。任何帮助是极大的赞赏。

提前致谢。

4 个答案:

答案 0 :(得分:2)

您可以使用nodeValue

DEMO:http://jsfiddle.net/7sy9W/

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

编辑::纯javascript,以防您不使用jquery。实际上这可能会更好

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

答案 1 :(得分:1)

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

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

jsfiddle demo

答案 2 :(得分:1)

idk wat exct u want 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, ' ') );
?>

答案 3 :(得分:0)

你可以试试这个,

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