在jquery中定位相邻的父dt

时间:2015-04-14 10:27:06

标签: jquery html list

我试图在定义列表中定位相邻dd的父DT。

下面是我的例子,单击DD后我想突出显示DT。

https://jsfiddle.net/rb0tc4mp/

<dl> 
    <dt>
        Fruit
    </dt>
    <dl>Apple</dl> 
    <dt>
        Biscuit
    </dt>
    <dl>Oreo</dl> 
    <dt>
        Person
    </dt>
    <dl>Ryan Gosling</dl>
</dl>
$('dl').on('click', function () {
    alert('adjecent dt');
})
dt {
    font-weight: 600;
}
dl {
    cursor: pointer;
}

对不起,如果这有点模糊,我很难描述我的问题(英语是我的第二语言。)

3 个答案:

答案 0 :(得分:0)

你需要:

1)将点击事件附加到内部dl元素。

2)使用.prev()以及点击元素context this来定位前一个相邻的dt元素。

$('dl dl').on('click', function(e){
   alert($(this).prev().text());
});

<强> Working Demo

答案 1 :(得分:0)

您可以使用prev()来获取dt标记

$('dl').on('click', function(e){
    e.stopPropagation();
    alert($(this).prev().text());
})

Fiddle

答案 2 :(得分:0)

使用jQuery "prev""text"方法定位相邻父级,Working Demo

$('dl').on('click', function(e){
    e.stopImmediatePropagation();
    var dtText = $(this).prev('dt').text();
    alert(dtText);
})