2

我在这样的页面上写了html,我无法控制,我只能使用jquery访问它,我需要你的帮助来解决。

<span class="breadcrumb">
<a href="http://www.example.com" class="breadcrumb"></a>Home / 
<a href="http://www.example.com" class="breadcrumb">Home</a> / 
</span>

我只想隐藏具有空链接的第一行中的“Home /”文本。这个问题是文本没有包含在链接中,而是纯文本。

但我想保持包含链接的第二行可见

<a href="http://www.example2.com" class="breadcrumb">Home</a> /
4

5 回答 5

3

您可以获取.contents() .. 然后使用.slice()获取您不想要的文本部分

$('span.breadcrumb').contents().slice(2,3).remove();

http://jsfiddle.net/3gpgY/

如果您也想删除文本之前的锚点,只需更改起始索引

$('span.breadcrumb').contents().slice(1,3).remove();

http://jsfiddle.net/eK7F7/

于 2012-12-21T21:16:40.437 回答
0

试试这个:

$(".breadcrumb a:nth-child(2)").prevAll().remove();
于 2012-12-21T21:10:19.280 回答
0

请执行下列操作 :

var content = $('.breadcrumb a').eq(1);
$('.breadcrumb').eq(0).html(content);

你可以在这里看到结果:http: //codepen.io/joe/pen/uoeIh

于 2012-12-21T21:11:01.817 回答
0

这是一个肮脏的解决方案

 $( '.breadcrumb' ).html( $( '.breadcrumb' ).html().replace( /[^\n]*><\/a>[^\n]*\n/, '' ) );

如果你想用你必须使用的 DOM 节点来做$.( '.breadcrumb' ).contents()

于 2012-12-21T21:19:06.120 回答
0

试试这个:

$(document).ready(function() {
    var newCont = $('<span>')
    $('.breadcrumb a').each(function (){
        $(newCont).append($(this).html())
    })
    $('.breadcrumb').html(newCont)
})​

jsfiddle:http: //jsfiddle.net/hA6gf/2/

于 2012-12-21T21:24:24.777 回答