Получить значение ID родительского элемента с помощью JS

sundance2001

Новичок
Получить значение ID родительского элемента с помощью JS

Добрый день!
Нужно при клике по картинке получить значение ID слоя, которому эта картинка принадлежит.
Вот код:
PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$("img.delete").click(function(){
		if (confirm('Подтверждаете удаление?')) {
			$(this).parents(".news_block").animate({ opacity: 'hide' }, "slow");
			
			// значение ID нужно вывести на экран
			alert('Сюда вывести ID родительского DIVa');
		}
	});
	
});
</script>
</head>
<body>

<div class="news_block" id="111">
     <img src="img.gif" height="55" width="125" alt="картинка" class="delete">
</div>

<div class="news_block" id="222">
     <img src="img.gif" height="55" width="125" alt="картинка" class="delete">
</div>

<div class="news_block" id="333">
     <img src="img.gif" height="55" width="125" alt="картинка" class="delete">
</div>


</body>
</html>
Очень прошу помощи.

-~{}~ 24.08.08 16:30:

Проблему решил.

$("img.delete").click(function(){
if (confirm('Подтверждаете удаление?')) {
$(this).parents(".news_block").animate({ opacity: 'hide' }, "slow");

// значение ID нужно вывести на экран
var div = $(this).parents(".news_block")
alert(div.attr('id'));
}
});
 

kruglov

Новичок
Когда мы на PHP пишем, нашу программу интерпретатор, написанный на C и скомпилированный в машинные коды, выполняет. Значит, мы в машинных кодах пишем?

Пример, конечно, утрирован, т.к. jquery сам написан на javascript и представляет собой коллекцию методов, инкапсулирующих в себе стандартные DOM-методы. Но это сторонняя библиотека, одна из многих возможных альтернатив.

Ничего не имею против jquery, возможно, она действительно предоставляет более удобный способ для работы с DOM, чем "родные" методы а ля "getElementById", но не "попсеет" ли программирование на javascript с применением ее и ее аналогов? Вот, человек использует $("img.delete") вместо <img onclick="">, особо не задумываясь, что' при этом происходит внутри пресловутой jquery (а происходит тупой тормозной перебор всех подходящих тегов со сравнением их класса с указанным). И ставит работоспособность своего сайта в зависимость от доступности code.jquery.com...

-~{}~ 24.08.08 19:06:

...и если бы я дал ответ "obj.parentElement.id" - это было бы ответом на поставленный вопрос?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
но не "попсеет" ли программирование на javascript с применением ее и ее аналогов?
Это говорит человек, программирующий на PHP? ;)
Меня всегда коробила в JS непредсказуемость поведения JS в разных браузерах. Мне почему то всегда казалось, что язык программирования должен быть четко детерменированным. JQuery разрешил этот конгиктивный диссонанс. Я плохой программист?
 

kruglov

Новичок
Это говорит человек, который до PHP и параллельно с ним программировал на полудюжине разных языков.

Одно дело размеры окошек измерять в разных браузерах, другое - с помощью $(".button").click() онклики присваивать.
 

Армян

Новичок
Пример действительно утрирован.

...и если бы я дал ответ "obj.parentElement.id" - это было бы ответом на поставленный вопрос?
Вобщем да, ты прав, но сказать что $(this).parents(".news_block") не JS тоже нельзя

Вот, человек использует $("img.delete") вместо <img onclick="">, особо не задумываясь, что' при этом происходит внутри пресловутой jquery
+1, наверно считает что чем "меньше написанного кода" тем быстрее(лучше) будет работать.
 

флоппик

promotor fidei
Команда форума
Партнер клуба

Духовность™

Продвинутый новичок
Понятно. Но любое "php написанный на php" не люблю. Всетаки ставить в зависимость приложение от сторонней библиотеки не есть хорошо.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
jquery написан на js.
php написан на С.

Любое приложение ставится в зависимость от платформы, или ЯП, или БД, или еще от чего то... может, потому что оно решает задачи связанные с чем-либо? Идеальное сферическое приложение в вакууме не будет зависеть ни от чего, и делать ничего не будет.
 

cDLEON

Онанист РНРСlub
Долой jquery! Долой Zend FrameWork, долой QT, долой всё, что написано на том же самом языке!!!! Программистами не рождаются, ими стоновятся, а деньги можно зарабатывать даже безделием! Детей, например, штучек 5 забабахать.
ЗЫ. Я вполне серьёзно.
ЗЫ.ЗЫ. С самого начала программирования не мог понять, как человеку не может быть тошно от того, что он использует чужой код (
 

pilot911

Новичок
Автор оригинала: cDLEON
Долой jquery! Долой Zend FrameWork, долой QT, долой всё, что написано на том же самом языке!!!! Программистами не рождаются, ими стоновятся, а деньги можно зарабатывать даже безделием! Детей, например, штучек 5 забабахать.
ЗЫ. Я вполне серьёзно.
ЗЫ.ЗЫ. С самого начала программирования не мог понять, как человеку не может быть тошно от того, что он использует чужой код (
сразу чувствуется, что пишет профи... осталось узнать, поднял ли он хоть один проект с количеством хитов более 1 млн в сутки и использовал ли чужой код
 

AmdY

Пью пиво
Команда форума
cDLEON
мне кажется, что человек не протестовал против использования чужого кода, а против _бездумного_ использоания чужого кода.
согласись, $(this).parents(".news_block") вместо this.parentNode, выглядит дважды неразумно,
первое $(this) - вернёт this
parents(".news_block") - ну, это тянет на шедевральную глупость, куча лишних переборов, должен же быть аналог .up() на крайний случай.
а к таким вещам часто привыкаешь и не задумываешься, вон в ZF впендолили Ext, так он грузит машину не слабо

-~{}~ 24.08.08 23:54:

pilot911
не в хитах счастье. думаю на ZF он не будет писать подобный проект
 

cDLEON

Онанист РНРСlub
AmdY
Да я понял о чём этот человек протестовал =)
Просто добавил к этому ещё свою мысль )
Я считаю, что у каждого хорошего программиста\команды программистов должна быть своя библиотека. Библиотека, которая написана этой командой, а эта команда знает в ней каждый уголок. А бездумное использование чужого кода ни к чему хорошему не приводит.
 
Сверху