使用:only-child选择器与$(this)

时间:2014-04-14 19:10:48

标签: jquery jquery-selectors

我试图根据列表项中锚点的href在页面中的div上调用slideToggle。我之前从未使用过:only-child选择器,是否有理由不能将它与(this)一起使用?

$('li').click(function(){
    var requiredID = $(this:only-child).attr('href');
    $('#requiredID').slideToggle();
});

JSFiddle:http://jsfiddle.net/QW32X/2/

为了澄清,我正在处理的特定界面将要求点击li本身,这就是为什么我不能直接从锚本身获取id。

2 个答案:

答案 0 :(得分:0)

你当然可以,但你不能将它附加到变量。试试这个:

var requiredID = $(this).filter(':only-child').attr('href');

更好:

$('li:only-child').click(function(){
    var requiredID = $(this).attr('href');
    $('#requiredID').slideToggle();
});

所有这一切,这都行不通,因为你的小提琴里没有独生子列表项。此外,不应创建任何列表,只意图只有一个项目。这不是一个清单。

答案 1 :(得分:0)

我认为没有必要使用它,但如果你想寻找a元素,这是唯一可以工作的孩子

$('li').click(function(){
    var requiredID = $(this).children("a:only-child").attr("href")
    $(requiredID).slideToggle();
});

工作Fiddle