Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: [jQuery] определить id родителя
 
 автор: SnooPI   (11.10.2008 в 18:32)   письмо автору
 
 

Здравствуйте!
Есть 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...и т.п.
Но как мне взять отсюда цифру и записать в переменную?

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

  Ответить  
 
 автор: AlexSol   (11.10.2008 в 19:19)   письмо автору
 
   для: SnooPI   (11.10.2008 в 18:32)
 


$("div[id^='audio']").click(function{
     alert($(this).attr('id').substring(5));
})



селекторы jquery

  Ответить  
 
 автор: SnooPI   (11.10.2008 в 19:44)   письмо автору
 
   для: AlexSol   (11.10.2008 в 19:19)
 

Увы ничего не происходит...

  Ответить  
 
 автор: AlexSol   (11.10.2008 в 19:57)   письмо автору
 
   для: SnooPI   (11.10.2008 в 19:44)
 

скобки забыл

$("div[id^='audio']").click(function()
     alert($(this).attr('id').substring(5)); 
}) 

  Ответить  
 
 автор: SnooPI   (11.10.2008 в 20:00)   письмо автору
 
   для: AlexSol   (11.10.2008 в 19:57)
 

Этот код исполняется до появления моих блоков видимо..
Исправил вот так:
$(function()
{
  $("div[id^='audio']").click(function()
  {
    alert(this.id);
  })
});


Но это исправились только от 1 ошибки(

  Ответить  
 
 автор: AlexSol   (11.10.2008 в 20:08)   письмо автору
 
   для: SnooPI   (11.10.2008 в 20:00)
 

никакаких ошибок


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>

<body>
<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> 
<div id="test">
без 'аудио'
</div>




<style>
div{
border:1px solid silver;
}
.icon{
height:8px;
background:red;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>                
<script>
$(document).ready(function(){
$("div[id^='audio']").click(function(){ 
alert($(this).attr('id').substring(5)); 
}) 

});
</script>
</body>
</html>

  Ответить  
 
 автор: SnooPI   (11.10.2008 в 20:05)   письмо автору
 
   для: SnooPI   (11.10.2008 в 18:32)
 

Вроде все
$(function()
{
  $("div[id^='audio']").click(function()
  {
    var aid = this.id;
    var patt = (/audio(\d+)/.exec(aid));
    alert(RegExp.$1);
  })
});

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования