потому что функция находится в локальной области видимости у $(document).ready(function(){
<div class="shop-but" onclick="tryBuy('1','ItemName')">Купить</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script>
function tryBuy(id,name){
alert("ID" + id + "Item" + name);
}
</script>
или так
<div class="shop-but" onclick="tryBuy('1','ItemName')">Купить</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script>
$(document).ready(function(){
window.tryBuy = function (id,name){
alert("ID" + id + "Item" + name);
}
});
</script>