這兩個選擇器在執行相同的結果時我很困惑。所以,我只是想,爲什麼我們要使用>
選擇選擇器之間的區別
$(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