【问题标题】:jQuery selector element with no class没有类的 jQuery 选择器元素
【发布时间】:2016-10-26 17:58:42
【问题描述】:

所以我说三个 div

<div class="a"></div>
<div class="b"></div>
<div></div>
     .
     .
<div class="n"></div>

有没有办法选择没有任何类的 div? 我不知道 DOM 中元素的顺序,所以使用 .next() 这样的东西是行不通的。

【问题讨论】:

  • 嗯,使用“div”?还是第三个孩子?
  • @AllDani 那么你会得到所有的div
  • 非常值得花时间从头到尾阅读the jQuery API。只需要一个小时,最多可能两个小时,它会立即为您返还那个时间。
  • 下次,请务必在问题的第一个版本中包含重要的详细信息,例如关于订单的编辑。

标签: javascript jquery html


【解决方案1】:

尝试使用 :not() 伪类选择器:

$('div:not([class])')

【讨论】:

  • 正是我需要的!
【解决方案2】:

$('div:not(.a, .b, .n)').addClass('red')
.red{color:red}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="a">123</div>
<div class="b">123</div>
<div>123</div>

<div class="n">123</div>

您可以使用:not() 排除div

【讨论】:

    【解决方案3】:

    编辑:当问题发生变化时,不要认为反对票是公平的。

     $('div:not([class])')
    

    【讨论】:

    • 为什么不赞成这个?这是正确的。有点稀疏,但是... [好的:编辑后的问题不再正确...]
    • @AllDani:我看到了,但我评论的反对票来自编辑之前。
    • @T.J.Crowder 找到你
    • 太多的反对者在这个网站上无缘无故地反对。它正在变成一场闹剧
    • @Pete 如果我相信它会有所作为,我也会抱怨。
    【解决方案4】:

    您可以通过 css 或 jquery 分隔没有类的 div。示例如下所示。两者都可以过滤没有类属性的元素。在 css 中,它使用非选择器选择没有类的 div。在 Jquery 中,方法也和 css 一样。

    <!doctype html>
    <html>
    	<head>		
    		<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    		<style>
    			div:not([class]){ color: red; }
    		</style>
    		<script>
    			$(document).ready(function(){
    				var noClassElement = $('div:not([class])');
    				console.log(noClassElement)
    			});
    		</script>
    	</head>
    	
    	<body>
    		<div class="a">sdf df sfsdf</div>
    		<div class="b">sdfsdsdsdf</div>
    		<div>dfgdfg</div>
    		<div class="n">sdfsdf</div>
    	</body>
    </html>

    【讨论】:

      猜你喜欢
      • 2013-07-17
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 2020-05-21
      • 1970-01-01
      • 2010-10-24
      • 2012-07-26
      • 2011-01-14
      相关资源
      最近更新 更多