[英]How to select all list items but list items don't have nested child of <ul> or <ol>
我想在“ .favdelParentFold ”的子項中選擇所有列表項,但要確保列表項沒有<ul>
任何嵌套子項。 如果列表項中有任何嵌套子級“ <ul>
”,我不想觸發它。
HTML
<li class="favdelParentFold">
<a href=""><span class="caret-right"></span></a>
<span class="folder"></span><span>fold2</span><span class="trashcan">press me</span>
<ul>
<li><a href="">One 1</a><span class="trashcan">press me</span></li>
<li><a href="">Two 2</a><span class="trashcan">press me</span></li>
<li><a href="">Three 3</a><span class="trashcan">press me</span></li>
<li>
<a href="">Four 4</a><span class="trashcan">press me</span>
<ul>
<li>four 1.1</li>
<li>four 1.2</li>
</ul>
</li>
</ul>
</li>
JS檔案:
$(document).ready(function () {
$(".favdelParentFold ~ ul li.trashcan").click(function () {
var tr = $(this).prev('span').text();
var pa = $(this).closet().text();
alert(tr);
alert(pa);
});
});
EX:
如果單擊1、2、2、3、3,我可以得到此值和父值,但是四個4的子級為<ul>
我想避免觸發。
預期輸出:
如果單擊“一個1”,我需要得到一個1和fold2
如果單擊“一個2”,我需要得到一個2和fold2
如果單擊“一個3”,我需要得到一個3和fold2
但是我們不會觸發“四個4”
我認為您正在尋找類似的東西。
$(".favdelParentFold ul li .ecm-trashcan").click(function() { var tr = $(this).prev().text(); var ma = $(this).closest('.favdelSubFold').find('#sfDel').text(); var pa = $(this).closest('.favdelParentFold').find('#pfDel').text(); alert(tr); if(tr!=ma) alert(ma); alert(pa); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <li class="favdelParentFold"> <a href=""><span class="caret-right"></span></a> <span class="folder"></span><span>fold2</span><span class="trashcan">press me</span> <ul> <li><a href="">One 1</a><span class="trashcan">press me</span></li> <li><a href="">Two 2</a><span class="trashcan">press me</span></li> <li><a href="">Three 3</a><span class="trashcan">press me</span></li> <li> <a href="">Four 4</a><span class="trashcan">press me</span> <ul> <li>four 1.1</li> <li>four 1.2</li> </ul> </li> </ul> </li>
更新:根據小提琴html, js
將如下所示:
$(".favdelParentFold ul li .ecm-trashcan").click(function () {
if ($(this).parent().find('ul').length || $(this).closest('.favdelSubFold').length) return;
var tr = $(this).prev('a').text();
var pa = $(this).closest('.favdelParentFold').find('#pfDel').text();
alert(tr);
alert(pa);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.