2012-03-01 4 views
1

カスタムデータをjQueryイベントハンドラ、具体的には$(this)要素から渡すにはどうすればよいですか? HTML5では、私はおそらく合法的に書くことができます。カスタムデータを<a>からjQueryに渡して削除前の確認メッセージを表示

<a class="delete" href="delete.php?id=5" data-id="5">delete</a>

私はまだそれについてビットawkardを感じるが。それ以前はどうでしたか?

$(".delete").click(function() { 
    return confirm("Do you really want to delete " + $(this).attr("data-id")); 
}); 

ベストプラクティスはありますか?

+1

トンそれら​​を無視し、通常ブラウザHTML5の前に「有効」ではないにもかかわらず、すべてのブラウザがその属性を無視するだけです。 –

+0

人はhtml5より前に何をしますか?彼らは仕様を無視しますか? – Jake

+1

@Jakeかなり。それは、必要なデータ(例えば、隠しフィールドのような)を格納するための方法です。 –

答えて

1

あなたはまた、要素内のデータオブジェクトを格納するための方法であるのattr()

jQuery.data()読み込みHTML5のデータを使用してdata-属性()メソッドを使用する必要はありません

var id=$(this).data('id'); 

http://api.jquery.com/data/

は限り唯一のHTML 5は、偽の属性の多くは長年使用されてきたが、ただ、実際に

+0

これはどんなdata-xxx属性でも機能しますか、またはドキュメントがHTML 5の場合のみですか? – Jake

+0

はhtml 5 doctypeである必要はないので、答えはイエスです – charlietfl

関連する問題