我试图使用代码来找出元素
$('[title!="head"]').each(function () {
$(this).fadeOut(100);
});使用上述代码,所有元素(包括带有$('[title="head"]')的元素)都会逐渐消失。
代码在这种情况下工作得很好。
$('[title="head"]')如有任何意见,将不胜感激。
发布于 2015-05-11 14:17:53
您可以使用filter过滤具有title而不是"head“的元素。
$(document).ready(function() {
$('div')
.filter(function() {
return $(this).attr('title') !== 'head';
})
.fadeOut(100);
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div title="head">HEAD</div>
<div title="myhead">MY HEAD</div>
<div title="your head">YOur HEAD</div>
<div title="head">Again HEAD</div>
<div title="headNo">HEAD No</div>
发布于 2015-05-11 14:24:51
只需使用:not()
$('body *:not([title="head"])').each (function(){
$(this).fadeOut(100);
});发布于 2015-05-11 14:31:50
您的选择器是问题所在:$('[title!="head"]')将选择,除了带有的元素之外,然后将其淡出。
这将使其更加清晰,请考虑以下标记:
<body>
<div title="head">Hello World!</div>
</body>在本例中,您的选择器将选择body,然后将其淡出,而由于<div>是<body>的子代,因此这将间接消失。你最终会得到这样的结果:
<body style="display: none;">
<div title="head">Hello World!</div>
</body>https://stackoverflow.com/questions/30169966
复制相似问题