1

我是 jquery 的新手。我有这样的链接..

<div>title 1<a href="/delete/1" class="del">Delete</a></div>
<div>title 2<a href="/delete/2" class="del">Delete</a></div>

jQuery

  $(".del").click(function () {
     alert($(this).attr('href'));
     event.preventDefault();
  });

我正在尝试获取 href 属性。但它说对象对象。我试图弄清楚我做错了什么。我该如何解决这个问题。

我很感激任何帮助。

4

4 回答 4

3

也许试试这个:

alert($(this).prop('href'));
于 2012-11-28T14:21:34.863 回答
2

采用

alert($(this).prop('href'));
于 2012-11-28T14:23:28.490 回答
1

您的代码段中唯一错误的是您引用了一个event未声明的变量。

这对我有用:

$(".del").click(function (event) {
	alert($(this).attr('href'));
	event.preventDefault();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>title 1<a href="/delete/1" class="del">Delete</a></div>
<div>title 2<a href="/delete/2" class="del">Delete</a></div>

于 2012-11-28T14:24:08.293 回答
0

看到评论和建议的答案,我尝试使用这样的单个 HTML 页面来隔离您的问题:

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function(){
    $('.del').click(function (event) {
        event.preventDefault();
        alert($(this).attr('href'));
    });
});
</script>
</head>
<body>
<div>title 1<a href="/delete/1" class="del">Delete</a></div>
<div>title 2<a href="/delete/2" class="del">Delete</a></div>
</body>
</html>

对此进行测试时,代码可以正常工作。我还比较了.prop().attr()以了解人们为什么建议这个答案。请仔细注意这 2 个文档,因为将一个与另一个交换出来并不是真正解决这种情况的问题。问题作者需要提供发生错误的更具体的测试用例,以便我们提供结论性的答案。

于 2012-11-28T14:37:41.983 回答