Если «фиксировать width не предлагать», то практически никак.
То, что шрифты рендерятся по-разному на различных ОС — известный факт и ничего с этим не поделать.
Если вам критичны размеры блоков до пикселя, то и управлять нужно ими (размерами блоков) напрямую. А если вы управляете ими косвенно (через размеры текста) — погрешности неизбежны.
Если бы был известен контекст задачи, то возможно, можно было бы подсказать какие-то половинчатые решения-костыли. Но именно в такой постановке — никак.
Был у меня такой телефон, самсунг, симка не надо было вставлять, всё настраивалось, он через спутник обращался на сервер, и была полная эмуляция сим карты. Стоил прилично.
Попробуйте локализовать источник писка. Некачественно обмотанные дроссели могут быть как материнской плате, так и в БП. Говорят справиться с этим может помочь лак для ногтей.
Поменяйте начало
$(function (){
на
function fname(){
а также
}); на }
А потом вызывайте в нужном месте
fname();
т.к. у вас там $(document).ready(function(){ то обработка произойдет после того как все JS будут подгружены.
Удачи.
Логично, что селектор #id li будет выдавать вам ноды не только текущего списка, но и всех вложенных. Так что надо использовать #id>ul>li, примерно так: jsfiddle.net/DrqRu/
Большинство (перестраховка) популярных фреймворков имеют тот или иной вид ORM, позволяющий не задаваться (почти) вопросом где и как хранятся данные. Так же как имеют более-менее развитые средства работы с формами или даже генерации CRUD-интерфейсов. Отчёты — шаблонизаторы или сам PHP.
Чисто субъективно для бизнес-приложений посоветовал бы присмотреться к Symfony2(+Doctrine2+Twig). По-моему там сильнее всего идёт разделение бизнес-логики, представлений и логики приложения (роутинг, хранение и т. п.).