With javascript it is usually best practice to avoid inserting external script tags inside the head from a performance perspective. However for jQuery Mobile moving the jQuery and jQuery Mobile scripts to the end of the HTML file may lead to your webapp being shown as plain HTML without CSS for some milliseconds until the framework is downloaded and executed (even if the CSS file is put in the head). This is because of the progressive enhancement approach that jQuery Mobile uses inside the framework. The CSS file does not do anything on the rendering without the JavaScript. Therefore, it is better to have them both in the head, even if there is a small performance delay.