我的HTML结构是这样的:
<div class="product-slider-title">
<div><span class="left"> </span></div>
<div>Sample title</div>
<div><span class="right"> </span></div>
</div>
<div id="prslider1" class="product-slider-wrapper">
<div class="left-prduct-slider-nav sprites"></div>
<div class="right-prduct-slider-nav sprites"></div>
<div class="product-slider">
<ul>
<li class="product-holder"></li>
</ul>
</div>
</div>
当我点击.product-slider ul
时,如何找到距离.left-prduct-slider-nav
最近的.left-prduct-slider-nav
?
答案 0 :(得分:3)
答案 1 :(得分:3)
您可以使用nextAll()在当前元素之后搜索兄弟姐妹,并使用find()
搜索nextAll
返回的匹配元素中的子元素。
<强> Live Demo 强>
$(this).nextAll('.product-slider').find('ul');
答案 2 :(得分:0)
这应该有效
var ul = $('.left-prduct-slider-nav').closest('ul');
答案 3 :(得分:0)
嗯试试这个:
$('.left-prduct-slider-nav').click(function () {
var closest_ul = $(this).parent().find('.product-holder ul');
});
答案 4 :(得分:0)
尝试first-child
:
<强> HTML:强>
<div class="product-slider-title">
<div><span class="left"> </span>
</div>
<div>Sample title</div>
<div><span class="right"> </span>
</div>
</div>
<div id="prslider1" class="product-slider-wrapper">
<div class="left-prduct-slider-nav sprites">Left Slider Nav</div>
<div class="right-prduct-slider-nav sprites"></div>
<div class="product-slider">
<ul>
<li class="product-holder1"></li>
</ul>
<ul>
<li class="product-holder"></li>
</ul>
<ul>
<li class="product-holder"></li>
</ul>
<ul>
<li class="product-holder"></li>
</ul>
</div>
</div>
<div class="product-slider-title">
<div><span class="left"> </span>
</div>
<div>Sample title</div>
<div><span class="right"> </span>
</div>
</div>
<div id="prslider1" class="product-slider-wrapper">
<div class="left-prduct-slider-nav sprites"></div>
<div class="right-prduct-slider-nav sprites"></div>
<div class="product-slider">
<ul>
<li class="product-holder"></li>
</ul>
</div>
</div>
<强> JS:强>
$(document).ready(function () {
$(".left-prduct-slider-nav").click(function () {
alert($(".product-slider").find("ul:first-child").find("li").prop("class"));
});
});
我处理.click()
的{{1}}函数,然后我提醒最近的.left-prduct-slider-nav
,或者换句话说第一个class
的li。
证据是我更改了第一个ul:first-child
的{{1}}的{{1}},然后更改了class
,然后我得到的输出是:{{1 }}
答案 5 :(得分:0)
距离.product-slider ul
最近的.left-prduct-slider-nav
只是列表中的第一个,因此您可以使用:first
:
$('.left-prduct-slider-nav').click(function() {
$(this).parent().find('.product-slider ul:first')
})
答案 6 :(得分:-1)
试试这个:
$(this).next().next().find('ul');