2012-05-26 50 views
0

我有下面的代码来检查与ID =菜单 元素的内部链接的点击事件:如何从hrefs列表中获取上一个和下一个链接hrefs?

$("#menu") 
    .on('click', 'a[href^="/City"]', function (event) { 
    event.preventDefault(); 
    $('#editLink').attr("data-href", link); 
}); 

,这个代码的工作就看起来像这样的HTML:

<ul id="menu"> 
    <li><a href="/City/0101004H">1</a></li> 
    <li><a href="/City/0101004I">2</a></li> 
    <li><a href="/City/0101004J">3</a></li> 
    <li><a href="/City/0101004K">4</a></li> 
</ul> 

我在我的屏幕的另一部分有两个链接,如下所示:

<a id="prev" href="#">Prev</a> 
<a id="next" href="#">Next</a> 

我该怎么做,以便如果用户点击“2”l墨那么这些链接改为:

<a id="prev" href="/City/0101004H" title="City 1">Prev</a> 
<a id="next" href="/City/0101004J" title="City 3">Next</a> 

回答

2

你可以用你喜欢:

$("#menu").on('click', 'a[href^="/City"]', function (event) { 
    event.preventDefault(); 
    if(jQuery(this).text() == 2) { // this check is not required if this functionality is required for any 'a' under #menu 
     jQuery(this).closest('ul').find('li:first').find('a').css('color','yellow'); 
     jQuery(this).closest('ul').find('li:last').find('a').css('color','pink'); 
     $('#prev').prop('href', $(this).parent().prev().find('a').prop('href')).prop('title','City 1').css('color','red'); 
     $('#next').prop('href', $(this).parent().next().find('a').prop('href')).prop('title','City 3').css('color','green'); 
    } 
}); 

Fiddle

更新:

jQuery(this).parent().prev().find('a') // this will give prev a 

jQuery(this).parent().prev().find('a') // this will give next a 

2nd Fiddle

+0

的'了'元素呢没有值属性,因此没有'val()'方法。使用'text()'。 –

+0

@DavidThomas完美的眼睛刚刚纠正,谢谢 – mprabhat

+0

@mprabhat - 感谢您的更正。你有没有看到我还增加了另一部分的问题? –

相关问题