,如果我有這樣的HTML結構 ?我怎樣才能-2項目:<p>C</p>
得-2類似於jQuery對象:最後一個孩子
<div class='m'>
<span><p>A</p></span>
<span><p>B</p></span>
<span><p>C</p></span>
<span><p>D</p></span>
<div>
將這項工作?
div.m > span:nth-last-child(2) > p
>> <span><p>C</p></span>
,如果我有這樣的HTML結構 ?我怎樣才能-2項目:<p>C</p>
得-2類似於jQuery對象:最後一個孩子
<div class='m'>
<span><p>A</p></span>
<span><p>B</p></span>
<span><p>C</p></span>
<span><p>D</p></span>
<div>
將這項工作?
div.m > span:nth-last-child(2) > p
>> <span><p>C</p></span>
如果您解決您的HTML(您的交易<div>
實際上是一個開始標籤),nth-last-child應該很好地工作:
alert($("div.m > span:nth-last-child(2) > p").text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='m'>
<span><p>A</p></span>
<span><p>B</p></span>
<span><p>C</p></span>
<span><p>D</p></span>
</div>
我想CSS不提供反向導航,所以,沒有以前的CSS選擇器,可以使用jQuery previous()
來獲取-2位置的元素。
$(".m span:last").previous().find('p').css('background-color', 'red');
,或者你可以簡單地用jQuery eq(-2)
做這樣的:
$(".m span").eq(-2).find('p').css('background-color', 'red');
它爲所有的情況下工作,最後一個孩子
<div class='m'>
<span><p>A</p></span>
<span><p>B</p></span>
<span><p>C</p></span>
<span><p>D</p></span>
<div>
<div class='m'>
<span><p>A</p></span>
<span><p>B</p></span>
<span><p>X</p></span>
<span><p>P</p></span>
<span><p>C</p></span>
<span><p>D</p></span>
<div>
如果什麼之前得到的元素:警報( $(「。numbers span」)。eq(-2).text()); ?? –
-2將採取-2元素 –