获取不同元素的索引
Get index of different element
我想获取 id 为点击锚点的div 的索引:
<ul>
<li><a href="#div1">Div 1</a></li>
<li><a href="#div2">Div 2</a></li>
<li><a href="#div3">Div 3</a></li>
</ul>
<div class="foo">
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
</div>
因此,如果我单击Div 1
我想获取索引.foo #div1
但我自己无法执行此操作。
我试过:
$('ul li a').click(function() {
var target = $(this).attr('href');
// $(target).index();
// $('.foo').index(target);
})
谢谢=)
您可以在 .foo 中获取相应的div,其索引
与单击的索引相同:$('ul a').click(function() {
// get the index of the item that was clicked
var index = $(this).closest("li").index();
// find that same index in .foo
var target = $(".foo > div").eq(index);
})
或者,如果你想使用 href,你可以这样做:
$('ul a').click(function() {
// use getAttribute so we don't get a fully qualified URL
var target = $(this.getAttribute("href"));
})
或者,使用完全限定 URL 的另一种方法:
$('ul a').click(function() {
var target = $(this.href.replace(/^.*#/, "#"));
})
您未正确指定 ID 属性。
从id
属性中丢失哈希符号,但不从href
属性中丢失哈希符号。然后你的第二次尝试将起作用。
清理了一下:
$(function() {
$('li a').on('click', function() {
var target = $(this).attr('href');
$('.foo ' + target).html('hello');
});
});
我将事件处理程序直接放在li
内的a
上。我还使用了 1.7 中引入的 jQuery on()
方法,这是事件处理程序的首选方法。
然后:
<ul>
<li><a href="#div1">Div 1</a></li>
<li><a href="#div2">Div 2</a></li>
<li><a href="#div3">Div 3</a></li>
</ul>
<div class="foo">
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
</div>
要获取所单击项目的索引,请执行以下操作:
$('.foo ' + target).index();
jsFiddle 示例:http://jsfiddle.net/DNfYg/
相关文章:
- 如何索引jquery中的每个元素
- 如何在z索引为auto的元素下堆叠
- 将一个元素放在具有相同z索引的其他元素前面
- 获取javascript中输入元素的索引
- 如何设置元素的z索引?JQuery、Javascript、CSS、HTML
- 已筛选jQuery集中元素的索引
- JavaScript-在不影响索引的情况下将元素插入数组
- 正在获取单击的元素相对于整个文档的索引
- 触发具有较低Z索引值的DOM元素的事件
- 获取页面上每个元素的Z索引
- 获取不同元素的索引
- 获取当前元素的索引并更改他的样式
- JQUERY 按钮返回到索引元素
- 获取在列表视图中具有特定首字母的索引元素
- 如何更改test.html中的索引元素
- 使用索引元素id时出现意外错误
- 删除数组中不存在的索引元素上的运算符行为
- 如何获取索引元素
- $index的元素变化,而使用过滤器如何获得正确的索引元素angularjs
- Javascript - 如何从 2D 数组中获取索引 [1] 元素的总和