Javascript 这两个选择器之间有什么区别?
在网页中,有多个div元素,其中一些元素的类为“class1” 问题:下面两个选择器是否都会为我们提供类为class1的所有div元素Javascript 这两个选择器之间有什么区别?,javascript,jquery,css,Javascript,Jquery,Css,在网页中,有多个div元素,其中一些元素的类为“class1” 问题:下面两个选择器是否都会为我们提供类为class1的所有div元素 $("div .class1") $("div.class1") 第一个将选择一个元素,该元素具有类class1,该类是div的后代 <div> <p class="class1">text</p> <-- selected </div> 下面的两个选择器会给我们所有具有类的div元素吗 一班的
$("div .class1")
$("div.class1")
第一个将选择一个元素,该元素具有类
class1
,该类是div
的后代
<div>
<p class="class1">text</p> <-- selected
</div>
下面的两个选择器会给我们所有具有类的div元素吗
一班的学生
$("div .class1")
$("div.class1")
不,只有第二个选项,
$(“div.class1”)
将被删除。在jQuery和CSS中,类前面的空格表示您正在查找该类的后代元素。第一个选择器为您提供所有.class1
元素,这些元素是任何
元素的后代
第二个将为您提供所有
.class1
元素,这些元素实际上是
本身。这两个选择器做的事情非常不同
此选择器:
$("div .class1")
$("div.class1")
将返回类为class1
且是div
的后代(直接或其他)的任何元素(不考虑元素类型)(不考虑该div
的类,如果有)
此选择器:
$("div .class1")
$("div.class1")
将返回类为class1
Nop的任何div
<div class="class1"> <-- selected
<p>text</p>
</div>
第一个将为您提供
div
中的元素,这些元素具有类class1
,第二个将为您提供类为“class1”的div。您发布的to选择器之间的区别是元素层次结构
假设您有这样一个代码:
<div class="class1">
This is a div with class name class1
</div>
<div>
This is a div with no class name</div>
<span class="class1">This is a span with class name class1</span>
<div class="class1">
This is a div with class name class1
</div>
<div>
This is a div with no class name
<p class="class1">This is a paragraph with class name class1</p>
</div>
<div class="class1">
This is a div with class name class1
</div>
<div class="class1">
This is a div with class name class1
<div class="class1">
This is a div with class name class1
</div>
</div>
这是一个类名为class1的div
这是一个没有类名的div
这是一个类名为class1的跨度
这是一个类名为class1的div
这是一个没有类名的div
这是一个类名为class1的段落
这是一个类名为class1的div
这是一个类名为class1的div
这是一个类名为class1的div
选择器$(“div.class1”)
将返回类名为class1
的
元素中的所有元素。在我们的示例中,这将是..
,..
和最后一个div..
而选择器$(“div.class1”)将返回类名为class1
的
的所有元素。在我们的示例中,这将是
的所有实例
这里有一把小提琴可以帮助你了解更多:
希望这有帮助。这与css的关系比与jquery的关系更大。我肯定有人问过同样的问题,我只是找不到它来讨论选择器语法。@Huangism,我试着在这里和谷歌上找到它,但没有得到完整的答案。从技术上讲,如果所有
.class1
元素都是至少一个div元素的后代,两者都会。否则,只有第二个选择器。@LcSalazar否第一个选择器将给出任何.class1
不满足OP的questionBy后代的元素,如果父div的callas为'class1',它是否也包括父div?@Sunil:A“parent”不是后代,是吗?如果您有一个div
,它有一个子div
,后者的类为class1
,那么子div
将由第一个选择器返回。(事实上,两者都会返回。)