这两个选择器在执行相同的结果时我很困惑。所以,我只是想,为什么我们要使用>
选择选择器之间的区别
$(function(){
$('ul > li').addClass('red')
$('ul li').addClass('red')
})
HTML
<ul>
<li>a</li>
<li>b</li>
<li>C</li>
<li>d</li>
</ul>
这两个选择器在执行相同的结果时我很困惑。所以,我只是想,为什么我们要使用>
选择选择器之间的区别
$(function(){
$('ul > li').addClass('red')
$('ul li').addClass('red')
})
HTML
<ul>
<li>a</li>
<li>b</li>
<li>C</li>
<li>d</li>
</ul>
的>
用于选择元素的直接孩子。
例如:
<ul class="root">
<li>a</li>
<li>b</li>
<li>
<ul>
<li>c</li>
</ul>
</li>
<li>d</li>
</ul>
$('ul.root > li').addClass('red')
将增加red
类所有li
除了li
的是嵌套在另一个ul
从上面的HTML标记。
<ul>
<li class="red">a</li>
<li class="red">b</li>
<li class="red">
<ul>
<li>c</li>
</ul>
</li>
<li class="red">d</li>
</ul>
这里为$('ul.root li').addClass('red')
只要会运用red
类所有li
为您li
是ul.root
<ul>
<li class="red">a</li>
<li class="red">b</li>
<li class="red">
<ul>
<li class="red">c</li>
</ul>
</li>
<li class="red">d</li>
</ul>
<div id="MasterContainer">
<div> <!-- Level 1 -->
<div> <!-- Level 2 -->
</div>
</div>
<div> <!-- Level 1 -->
<div> <!-- Level 2 -->
</div>
</div>
</div>
方案孩子:
// Will add class 'red' to both Level 1 and Level 2 divs.
$('#MasterContainer div').addClass('red');
// Will add class 'red' to only Level 1 divs.
$('#MasterContainer > div').addClass('red');
// Will add class 'red' to only Level 2 divs.
$('#MasterContainer > div > div').addClass('red');
为了总结它,'>'通常是v当您想要在特定的HTML/DOM级别定位元素时,它非常有用。
它们是完全不同的选择器...并且不,它们不会给出相同的结果。无论如何,这是基本的问题,我不能相信你在发布这个问题之前没有找到任何信息... –
你读过[Child Selector(“parent> child”)](http://api.jquery.com/child -selector /) – Satpal
对不起,我更新了问题 – Carlos