在下面的html中,我可以使用CSS或jQuery隐藏从(
开始到)
结尾的内容。我面临的问题是(
和更高版本的代码没有包含在任何div中,所以我不能使用CSS来查找div类并设置display:none
。
<span>
<a class="test" href="#">test</a>
(<a href="#">?</a>)
</span>
答案 0 :(得分:3)
$('span a:not(".test")').hide();
将适用于您的有限示例。
但是,它不会隐藏括号。要做到这一点,你需要一个专门的功能来删除你不想要的代码:
$('span').html(function(i,old) {
return old.substring(0,old.indexOf('('));
});
如果你想隐藏它而不是删除它,你需要将它全部包装在HTML元素中并将样式应用于:
$('span').html(function(i,old) {
var idx = old.indexOf('(');
return old.substring(0,idx) + '<span style="display:none">' + old.substring(idx) + '</span>';
});
答案 1 :(得分:0)
你试过使用元素display:none; ?
答案 2 :(得分:0)
您无法隐藏DOM节点的某些部分,只能隐藏完整的节点。
您需要更改标记,将整个链接(包括括号)包装在一个<span>
中。
这可以在Javascript中完成,但在源代码处理它会容易得多。
答案 3 :(得分:0)
使用jquery:
$('.test').next().hide();
这将只留下括号
答案 4 :(得分:0)
我不得不重读你几次,但我想我知道你想要什么。你将无法直接做你所要求的。
如果您可以编辑HTML,则添加一个内部范围,围绕您要隐藏的内容并将其隐藏。
我在想你是在问这个问题,因为你无法编辑HTML。在这种情况下,你可以做的是:
答案 5 :(得分:0)
只需添加一些类来定义操作。
<span>
<a class="go" href="#">test</a>
(<a href="#" class="hideme">?</a>)
</span>
$('.go').bind('click', function(e){
$('.hideme').hide();
});