嗨我試圖將目標「這個」子孫後代「這」。我如何定位「這是」孩子的「這個」元素?
下面是一個包含子列表的列表。
我試圖做到的是如何選擇這個孩子的這家長的理解。
基本上,當我點擊本田時,子列表展開,我想console.log每個選定元素的文本,當我點擊它。爲了簡化目的,我將代碼更改爲console.log。
到目前爲止,下面的代碼返回的是li中所有內容的文本。
IE如果我點擊本田或者如果我點擊雅閣,控制檯返回值「本田雅閣,CRV和。」
我將如何遍歷「this」以獲取「this」的被點擊的孩子的文本。 「這」的「這個」。
IE,如果我用我下面的代碼,它應該返回文本「雅閣」單獨選擇「雅閣」。
代碼:
<ul class="main-menu">
CARS
<ul>
<li class="has-subs">
<a href="">Honda</a>
<ul class="sub-menu">
<li><a href="">Accord</a></li>
<li><a href="">CRV</a></li>
</ul>
</li>
<li class="has-subs">
<a href="">Ford</a>
<ul class="sub-menu">
<li><a href="">Mustang</a></li>
<li><a href="">Explorer</a></li>
</ul>
</li>
</ul>
$('body').on('click', '.main-menu ul li', function (e) {
e.preventDefault();
$this = $(this);
console.log($this.text());
if ($(this).find("a").text() == "CRV") {
var subMenu = $this.siblings('.sub-menu');
console.log("'THIS' SELECTOR IS WORKING AS INTENDED!");
}
})
更新:
謝謝大家的回答!我認爲這將有助於進一步解釋我正在努力實現的目標。
我最終想弄清楚的是,我有一個主手風琴列表,上面有汽車製造商名單,每個製造商都有一個如上所示的子菜單。
我想點擊一個列表項目,說本田,它只擴大本田的名單,並顯示他們的產品,即雅閣和CRV。然後,當我點擊Accord或CRV時,它會轉到各自的網頁。
當我點擊一輛福特,本田的名單應該崩潰或隱藏,福特的應該擴大。
'$(「身體」 ).on('click','.main-menu ul li ul li',function(e){' – Rayon
你可以給一個類添加一個子列表元素,然後添加一個eventlistener到這個,這將起作用.. – viveksinghggits