2016-11-01 48 views
0

我在查看父代<main>內最後一個<hr>標記是否存在於關閉</main>標記之前。查找特定結束標記旁邊的HTML元素

所以在下文中,<hr>標記,是<main>標籤內最後直接關閉</main>標記之前是一個目標:

<main> 
    <div> 
    lorem ipsum lorem ipsumlorem ipsumlorem ipsumlorem ipsum 
    lorem ipsumlorem ipsumlorem ipsum 
    </div> 
    <hr class="container" /> 
    <div> 
    lorem ipsum lorem ipsumlorem ipsumlorem ipsumlorem ipsum 
    lorem ipsumlorem ipsumlorem ipsum 
    </div> 
    <hr class="container" /> 
    <div> 
    lorem ipsum lorem ipsumlorem ipsumlorem ipsumlorem ipsum 
    lorem ipsumlorem ipsumlorem 
    </div> 
    <hr class="container" /> 
</main> 

雖然<hr>不應該,如果除去,例如,還有在它前面的一個<div>標籤:

<main> 
    <div> 
    lorem ipsum lorem ipsumlorem ipsumlorem ipsumlorem ipsum 
    lorem ipsumlorem ipsumlorem ipsum 
    </div> 
    <hr class="container" /> 
    <div> 
    lorem ipsum lorem ipsumlorem ipsumlorem ipsumlorem ipsum 
    lorem ipsumlorem ipsumlorem ipsum 
    </div> 
    <hr class="container" /> 
    <div> 
    lorem ipsum lorem ipsumlorem ipsumlorem ipsumlorem ipsum 
    lorem ipsumlorem ipsumlorem 
    </div> 
</main> 
+0

所以,很不幸@Sirko已經回答了,但我們通常喜歡用戶自己展示一些解決方案。 –

+0

@MikeMcCaughan - 我可以理解這一點。我試圖最初去一個純粹的JS路線,不幸的是過於複雜的解決方案。 – SiriusBits

回答

3

您可以篩選基於它們是否是同一母公司

$('hr').filter(function() { 
    return this === this.parentNode.lastElementChild; 
}).remove(); 

FIDDLE

或目標,同時也是最後一個孩子的任何HR元素的最後一個孩子的HR元素

$('main hr:last-child').remove(); 
0

jQuqery解決方案可以歸結爲獲得選擇權:

if($('main .container:last-child').length > 0){ 
    // do your stuff 
} 
2

要達到此目的,您可以獲取main內的最後一個元素,檢查它是否爲hr,並刪除它,如果這樣:

var $last = $('main :last'); 
 
if ($last.is('hr')) 
 
    $last.remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<main> 
 
    <div> 
 
    lorem ipsum lorem ipsumlorem ipsumlorem ipsumlorem ipsum 
 
    lorem ipsumlorem ipsumlorem ipsum 
 
    </div> 
 
    <hr class="container" /> 
 
    <div> 
 
    lorem ipsum lorem ipsumlorem ipsumlorem ipsumlorem ipsum 
 
    lorem ipsumlorem ipsumlorem ipsum 
 
    </div> 
 
    <hr class="container" /> 
 
    <div> 
 
    lorem ipsum lorem ipsumlorem ipsumlorem ipsumlorem ipsum 
 
    lorem ipsumlorem ipsumlorem 
 
    </div> 
 
    <hr class="container" /> 
 
</main>

這裏有一個工作的jsfiddle爲SO片段仍然打破:

Working example