Помогите сократить код. 
		
		
		
		Возможно ли такое решение? 
	1. Есть меню HTML 
<ul>
       <li>
                <a href="#menu_1_2_1" class="p1">Punkt1</a>
	</li>
	<li>
		<a href="#menu_1_2_2" class="p2">Punkt1</a>
	</li>
...........
                                                                 
</ul>
Общее кол-во ссылок в меню около 150 шт. По пунктам подключаются внешние файлы: 
$('.p1').click(function(){
function show_test() 
        {
        $.ajax({
            url: "htmls/p1.html", // ссылка на подключаемый документ
            cache: false, 
            success: function(html){
            $("#test").html(html); // задаем идентификатор, #id, который должен быть присвоен нужному div блоку
        }
        });
        }
        $(document).ready(function(){ // когда страничка полностью загрузится
            show_test(); // вызываем фнашу функцию с подключением документа
        }); return false;
		
		});
Соответственно что бы вызывать 150 файлов, нужны такие строки для каждого в отдельности. Возможно ли что бы оглядываясь на "class", или по "onmouseclic" - вызывался файл с тем же именем что и "class", или "onmouseclic".  | 
	
		
 Oтформатируйте свой код! 
	Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] немного странный код... дело в том, что 
$('.p1').click(function () {
необходимо писать, когда страничка уже загрузится. если скрипт находится в head, то необходимо писать так 
$(function(){
 $('.p1').click(function () {
...........
})
это сокращение от $(document).ready т.к. в моменту назначения обработчиков страница уже загружена,то можно написать так. 
$(function() {
    $('.p1').click(function() {
        $.ajax({
            url: "htmls/p1.html",
            // ссылка на подключаемый документ
            cache: false,
            success: function(html) {
                $("#test").html(html); // задаем идентификатор, #id, который должен быть присвоен нужному div блоку
            }
        });
        return false;
    });
});
если же код вставляется внизу страницы (где-то у конца тега body), то код можно еще сократить до такого. 
$('.p1').click(function() {
    $.ajax({
        url: "htmls/p1.html",
        // ссылка на подключаемый документ
        cache: false,
        success: function(html) {
            $("#test").html(html); // задаем идентификатор, #id, который должен быть присвоен нужному div блоку
        }
    });
    return false;
});
так как ссылок у вас много (150), то назначать обработчик каждой - насилие. легче назначить обработчик всему списку (ul), который будет ловить всплывающие от ссылок события клика. сделать это можно так 
$('ul').click(function(e) {
    if (e.bubbles) {
        if (e.target.tagName.toLowerCase() === "a") {
            $.ajax({
                url: "htmls/p1.html",
                cache: false,
                success: function(html) {
                    $("#test").html(html);
                }
            });
            e.preventDefault();
        }
    }
});
если код (скрипт) подключается в head (сверху страницы), то надо обернуть его в обработчик загрузки страницы. в итоге код будет такой : 
$(function() {
    $('ul').click(function(e) {
        if (e.bubbles) {
            if (e.target.tagName.toLowerCase() === "a") {
                $.ajax({
                    url: "htmls/p1.html",
                    cache: false,
                    success: function(html) {
                        $("#test").html(html);
                    }
                });
                e.preventDefault();
            }
        }
    });
});
Цитата: 
	
  | 
	
		
 Спасибо. Узнал нового. 
	Но смысл остался тот же. 150 ссылок = 150 файлов. Нужно коротенький код делающий: <a href="#" class="здесь имя файла"></a> = открывается файл, из указанной папки, с именем указанным в "здесь имя файла". И код этот должен обрабатывать ВСЕ ссылки одновременно. Ну, это для понятности: 
$(здесь как бы ссылка с ВАРИРУЮЩИМСЯ классом в котором указанно имя файла).click(function(){
function show_test() 
        {
        $.ajax({
            url: "а здесь собственно папка,путь, по которому лежат файлы, + должен открыватся тот имя которого указанно в класс.", 
            cache: false,
            success: function(html){
            $("#test").html(html);}
        });
        }
        $(document).ready(function(){ 
            show_test();
        }); return false;
		
		});
Мне понравилось решение, с обработчиком всего списка. Но как заставить открыватся РАЗНЫЕ файлы.  | 
	
		
 
$(function() {
    $('ul').click(function(e) {
        if (e.bubbles) {
            if (e.target.tagName.toLowerCase() === "a") {
                $.ajax({
*!*
                    url: "htmls/"+e.target.className+".html",
*/!*
                    cache: false,
                    success: function(html) {
                        $("#test").html(html);
                    }
                });
                e.preventDefault();
            }
        }
    });
});
 | 
	
		
 ну вместо этого: 
	
$.ajax({
                    url: "htmls/p1.html",
                    cache: false,
                    success: function(html) {
                        $("#test").html(html);
                    }
                });
вообще можно сделать так: 
$("#test").load('htmls/p1.html');
Хотя там параметр кеш есть, не знаю как повлияет | 
	
		
 Спасибо огромное, вот эту самую возможность я и не знал: 
	url: "htmls/"+e.target.className+".html", Еще раз спасибо!  | 
	
		
 devote, точно. кэш можно по-другому отменить 
	в итоге получается такая функция 
$(function() {
    $('ul').click(function(e) {
        if (e.bubbles) {
            if (e.target.tagName.toLowerCase() === "a") {
                $("#test").load("htmls/" + e.target.className + ".html?rand" + Date.now() );
                e.preventDefault();
            }
        }
    });
});
или так, если уж вообще приспичило. это самый минимум 
$(function() {
    $('ul').click(function(e) {
               e.bubbles &&
               e.target.tagName.toLowerCase() === "a" &&
                      $("#test").load("htmls/" + e.target.className + ".html?rand" + Date.now(),
                      e.preventDefault();
        }
    }
    });
});
 | 
	
		
 Может я непонял задачу, но помоему с ней справляется функция из 2х строчек. Суть которой загрузить в .target данные с адреса находящегося, в аттрибуте href ссылки класса supertarget; При таком подходе ссылок может быть как угодно много, главное чтобы url был в href ссылки. Вместо href можно использовать любой другой атрибут к примеру <a tazik="www.yandex.ru"> тоже приемлимо, извлекается соответственно при помощи $(this).attr("tazik").  
	<a href="superInfa.html" class="superlink">нажми на супер ссылку</a> 
$('.superlink').click(function(){
               $(".target").load($(this).attr("href"));
               return false;               
});
Код непроверял. Да кстатии, вот это вот href="#" необязательно, достаточно обработчику click вернуть FALSE. Тоесть используйте href по назначению, а имя файла в class плохая идея.  | 
	
		
 Цитата: 
	
  | 
	
		
 Классы тут использовать нельзя. Они не для этого предназначены. Нужно использовать все по назначению. А если для того, чтобы сделать текущий пункт активным мы захотим сделать что-то такое: 
	<a href="#menu_1_2_1" class="p1 *!*active*/!*">Point1</a>что часто и делается? И ссылка перестанет работать.  | 
| Часовой пояс GMT +3, время: 02:40. |