Javascript 从单击的链接返回值时出现问题
我在这样的页面上有一组链接Javascript 从单击的链接返回值时出现问题,javascript,jquery,Javascript,Jquery,我在这样的页面上有一组链接 <a href='' class='contact' data-index='1'>One</a> <a href='' class='contact' data-index='2'>One</a> <a href='' class='contact' data-index='3'>One</a> 我也试过这样的方法: var m_data = $("a#contact").attr("data
<a href='' class='contact' data-index='1'>One</a>
<a href='' class='contact' data-index='2'>One</a>
<a href='' class='contact' data-index='3'>One</a>
我也试过这样的方法:
var m_data = $("a#contact").attr("data-index");
$("a#contact").click(function() {
var data = $(this).data('index');
});
但数据没有定义
请问我该怎么做?谢谢。#
是一个id选择器。这应该是独一无二的。在jQuery中使用id选择器时,它将始终返回第一个元素,因为它不希望找到更多的项
更改代码
<a data-index="1" class="contact">Whatever</a>
$("a.contact").click(function() {
var data = $(this).data("index");
});
不管怎样
$(“a.contact”)。单击(函数(){
var数据=$(此).data(“索引”);
});
正如Eskat0n所提到的,由于jQuery 1.6,jQuery通过
data()
方法自动获取data-
属性,因为jQuery 1.6.x数据属性的值通过jQuery填充到与元素相关联的数据中,所以如果您的html看起来像
,那么您的代码应该可以工作:
$("a.contact").click(function() {
var data = $(this).data('index');
// data is "5"
});
正如您所看到的,这里有一个更正:
#
用于按id获取元素,该id必须是唯一的。将id的类intead用于多个链接元素。您需要。指示如果链接列表是页面上的唯一列表,并且如果链接中混合了其他DOM元素,则如何使用它。这是正确答案,但可能值得注意的是,OP必须使用问题中概述的第二种方法(使用This
,而不是重用选择器).1这实际上是一个很好的观点,如果OP是在寻找一种方法来获取容器中链接的索引,那么这可能要容易得多(:
$("a.contact").each(function()
{
$(this).click(function()
{
var data = $(this).attr('data-index');
});
});