Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > [jQuery] Определить ид родителя


Автор: Isis 11.10.2008, 17:39
Здравствуйте!
Есть html код
Код
<div class="music" id="audio1">
                    <div class="icon"></div>
                    <div class="songname">Title</div>
                    <div class="time">5:00</div>
                    <div class="lyrics">
                        <a href="#" onclick="more(1);">
                            <img src="./images/lyrics.gif" alt="Информация"/>
                        </a>
                    </div>
                    <div class="load"><img src="./images/load.gif" alt="Скачать"/></div>
                    <div class="clear"></div>
                    <div id="more1">
                        <div class="lyricsempty"></div>
                        <div class="info">
                            <div class="lyricsmessage">Lyrics</div>
                        </div>
                        <div class="size">5.76 mb</div>
                        <div class="clear"></div>
                    </div>
                </div>

                <div class="music" id="audio2">
                    <div class="icon"></div>
                    <div class="songname">Title</div>
                    <div class="time">5:00</div>
                    <div class="lyrics">
                        <a href="#" onclick="more(2);">
                            <img src="./images/lyrics.gif" alt="Информация"/>
                        </a>
                    </div>
                    <div class="load"><img src="./images/load.gif" alt="Скачать"/></div>
                    <div class="clear"></div>
                    <div id="more2">
                        <div class="lyricsempty"></div>
                        <div class="info">
                            <div class="lyricsmessage">Lyrics</div>
                        </div>
                        <div class="size">5.76 mb</div>
                        <div class="clear"></div>
                    </div>
                </div>

                <div class="music" id="audio3">
                    <div class="icon"></div>
                    <div class="songname">Title</div>
                    <div class="time">5:00</div>
                    <div class="lyrics">
                        <a href="#" onclick="more(3);">
                            <img src="./images/lyrics.gif" alt="Информация"/>
                        </a>
                    </div>
                    <div class="load"><img src="./images/load.gif" alt="Скачать"/></div>
                    <div class="clear"></div>
                    <div id="more3">
                        <div class="lyricsempty"></div>
                        <div class="info">
                            <div class="lyricsmessage">Lyrics</div>
                        </div>
                        <div class="size">5.76 mb</div>
                        <div class="clear"></div>
                    </div>
                </div>


Здесь вот как бы 3 строки и у них есть свой айди aduio1, audio2, audio3 , но таких строк может быть 500-1000000 и будет айди audio500....

Вот...
Мне необходимо чтобы, по клику на любой из этих дивов мне вывело цифру из его айди, т.е. если кликнули на блок 346 , а он имеет ид aduio346, то необходимо чтобы с помощью джаваскрипт это 346 записалось в переменную s например...

Вот что пробовал:
Код
$(document).click(function(e){
var str = e.target;
var g = $(str).parents('div[id]').attr('id');
var patt = new RegExp("audio(\\d+)");
  alert(patt.exec(q));
});

Здесь следующие ошибки:
1.Необходимо чтобы дейтсиве js выполнялось только на блоках с id в которых есть слово audio , т.е. $(document).click(function(e){ както надо заменить на $('div[id]').click......но пробовал, не получается
2.Следующая ошибка заключается в том что алерт не выскакивает когда кликаем по div=icon и после закрытия последнего дива (moreN)
3.И третья ошибка в том что алерт выскакивает такого вида: audio1,1, audio2,2...и т.п.
Но как мне взять отсюда цифру и записать в переменную?

Заранее огромное спасибо!

Автор: Isis 11.10.2008, 19:17
Код

$(function()
{
  $("div[id^='audio']").click(function()
  {
    var aid = this.id;
    var patt = (/audio(\d+)/.exec(aid));
    var id = RegExp.$1;
  })
});

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)