如何确定文本标签与单击文本标签匹配的元素的索引号?
我有一个清单:
<ul>
<li data-cont="item one">this is one</li>
<li data-cont="item 2">this is second</li>
<li data-cont="one more">this is another one</li>
</ul>
...
<div>item one</div>
<div>item 2</div>
<div>one more</div>
当点击其中一个LI时,我的屏幕需要向下滚动到页面后面的一个匹配的DIV。
$('#li').click(function(){
var scrollNow = $(this).attr('data-cont');
$('html, body').animate({
scrollTop: $(
// here I need to scroll down to the item by index...
).offset().top
}, 500);
});
答案 0 :(得分:1)
获取div的索引很简单:
var index = $('div').filter(function(){
return $(this).text().trim()==scrollNow}
).index();
(我不使用:contains
,因为它可以匹配太多的div)
但我不明白为什么你想要这个索引。
如果你想滚动到div,你只需要做
var div = $('div').filter(function(){
return $(this).text().trim()==scrollNow}
);
$('html, body').animate({
scrollTop: div.offset().top
}, 500);