Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery选择器中获取同级_Jquery - Fatal编程技术网

在jquery选择器中获取同级

在jquery选择器中获取同级,jquery,Jquery,我想检测两个元素的点击: 1) class is called advancedTargeting 2) the sibling li of the li that has the `area` attribute. 例如,对于第二个需求: <li area style='display:block'>bla</li> <li>123</li> <li>356</li> (在本例中,单击356的li) 它们应该运行相同的

我想检测两个元素的点击:

1) class is called advancedTargeting
2) the sibling li of the li that has the `area` attribute.
例如,对于第二个需求:

<li area style='display:block'>bla</li>
<li>123</li>
<li>356</li>
(在本例中,单击356的li)

它们应该运行相同的函数

我认为应该这样做:

$('.advancedTargeting, li[area]:next').live('click', function () {

});
这是您需要的选择器

$('.advancedTargeting, li[area] ~ li').live('click', function () {

});
这是您需要的选择器

$('.advancedTargeting, li[area] ~ li').live('click', function () {

});
这是您需要的选择器

$('.advancedTargeting, li[area] ~ li').live('click', function () {

});
这是您需要的选择器

$('.advancedTargeting, li[area] ~ li').live('click', function () {

});
我建议:

$('li[area]').next().on('click', function (){
    // click handling here
});
尽管最好使用有效的HTML5
data-*
属性,而不是您自己创建的无效属性

顺便提一下,
live()
在jQuery 1.7中被弃用(替换为
on()
),并在jQuery 1.9中被删除;在jQuery中,我建议:

$('li[area]').next().on('click', function (){
    // click handling here
});
尽管最好使用有效的HTML5
data-*
属性,而不是您自己创建的无效属性

顺便提一下,
live()
在jQuery 1.7中被弃用(替换为
on()
),并在jQuery 1.9中被删除;在jQuery中,我建议:

$('li[area]').next().on('click', function (){
    // click handling here
});
尽管最好使用有效的HTML5
data-*
属性,而不是您自己创建的无效属性

顺便提一下,
live()
在jQuery 1.7中被弃用(替换为
on()
),并在jQuery 1.9中被删除;在jQuery中,我建议:

$('li[area]').next().on('click', function (){
    // click handling here
});
尽管最好使用有效的HTML5
data-*
属性,而不是您自己创建的无效属性

顺便提一下,
live()
在jQuery 1.7中被弃用(替换为
on()
),并在jQuery 1.9中被删除;在jQuery中

$('.advancedTargeting li[area]:next').click(function () {
...
});

$('.advancedTargeting li[area]:next').click(function () {
...
});

$('.advancedTargeting li[area]:next').click(function () {
...
});

$('.advancedTargeting li[area]:next').click(function () {
...
});

要选择具有属性
区域
li的第一个同级
,只需与
组合使用:第一个选择器

$('.advancedTargeting li[area]').siblings().filter(":first")
要添加单击功能,请执行以下操作:

$('.advancedTargeting li[area]').siblings().filter(':first').on('click',function(){
//code goes here...
})

要选择具有属性
区域的
li
的第一个同级,只需与
组合使用:第一个选择器

$('.advancedTargeting li[area]').siblings().filter(":first")
要添加单击功能,请执行以下操作:

$('.advancedTargeting li[area]').siblings().filter(':first').on('click',function(){
//code goes here...
})

要选择具有属性
区域的
li
的第一个同级,只需与
组合使用:第一个选择器

$('.advancedTargeting li[area]').siblings().filter(":first")
要添加单击功能,请执行以下操作:

$('.advancedTargeting li[area]').siblings().filter(':first').on('click',function(){
//code goes here...
})

要选择具有属性
区域的
li
的第一个同级,只需与
组合使用:第一个选择器

$('.advancedTargeting li[area]').siblings().filter(":first")
要添加单击功能,请执行以下操作:

$('.advancedTargeting li[area]').siblings().filter(':first').on('click',function(){
//code goes here...
})

作为旁白,您应该考虑使用HTML5的
数据-
属性,而不是使用自己的属性。参考:作为旁白,你应该考虑使用HTML5的
数据-
属性,而不是自己的属性。参考:作为旁白,你应该考虑使用HTML5的
数据-
属性,而不是自己的属性。参考:作为旁白,你应该考虑使用HTML5的
数据-
属性,而不是自己的属性。参考:但这会让我点击advancedTargeting类的兄弟姐妹。不是吗?我明白你的问题所在,尝试分离事件绑定(请参见编辑的答案)。但这将允许我单击advancedTargeting类的同级。不是吗?我明白你的问题所在,尝试分离事件绑定(请参见编辑的答案)。但这将允许我单击advancedTargeting类的同级。不是吗?我明白你的问题所在,尝试分离事件绑定(请参见编辑的答案)。但这将允许我单击advancedTargeting类的同级。不是吗?我明白你的问题所在,尝试分离事件绑定(请参见编辑的答案)。没有
:下一个
选择器或没有
:下一个
选择器或没有
:下一个
选择器或没有
:下一个
选择器