在下面的 html 中,我可以隐藏使用 CSS 或 jQuery开始(
和结束的内容吗?)
我面临的问题是(
后面的代码没有包装在任何 div 中,所以我不能使用 CSS 来查找 div 类和 set display:none
。
<span>
<a class="test" href="#">test</a>
(<a href="#">?</a>)
</span>
$('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>';
});
您是否尝试过使用元素 display:none; ?
您不能隐藏部分 DOM 节点,只能隐藏完整的节点。
您需要更改标记以将包括括号在内的整个链接包含在单个<span>
.
这可以在 Javascript 中完成,但在源代码中执行会容易得多。
使用 jquery:
$('.test').next().hide();
这将只留下括号
我不得不重读你的帖子几次,但我想我明白你想要什么。您将无法直接执行您要求的操作。
如果您可以编辑 HTML,则在要隐藏的内容周围添加一个内部跨度并将其隐藏。
我想你问这个问题是因为你不能编辑 HTML。在这种情况下,您可以做的是:
只需添加一些类来定义操作。
<span>
<a class="go" href="#">test</a>
(<a href="#" class="hideme">?</a>)
</span>
$('.go').bind('click', function(e){
$('.hideme').hide();
});