sashgera,
если вам нужно хранить или получать данные то лучше data() вернёт то что положили и расчитана на работу с подобными атрибутами -- attr() вернёт только строку
но в вашем случае одинаково
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src='http://code.jquery.com/jquery-latest.js'></script>
</head>
<body>
<div data-num="12345" ></div>
<script>
alert([$( "div" ).data( "num" ) === 12345,$( "div" ).attr( "data-num" ) === 12345,$( "div" ).attr( "data-num" ) === "12345"]);
</script>
</body>
</html>