Наверно тут что-то касаемо того что у <p> не может быть потомков, или заголовки не считаются за них. Еще и onclick не реагирует на потомков в таком случае. В общем, лучше делать все на дивах и жизнь станет проще.
Спасибо . Должен заметить что когда я сменил 'p' на 'div' поменялся и визуальный вид элемента) . Меня это удивляет. Хоть на сколько я знаю они практически идентичные. Единственное чем отличаются только по их названию, но что б еще и так похоже надо подучить HTML .