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 に答える