I think data will look on lowercases: alert($(this).data("themevalue")) //grid
or if you want to use themeValue you need to use:
edit:
I was wrong, it doesnt have anything to do with lowercases, you can use themeValue if you are having the attribute: data-theme-value then you call itwith $(element).data("themeValue")
$(".themeChanger").click(function() {
var el = $(this);
alert($(this).data("themeValue")); //Theme2
alert($(this).data("themevalue")); //Theme1
});