Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не могу разобраться с closest() (https://javascript.ru/forum/misc/69290-ne-mogu-razobratsya-s-closest.html)

konst37 12.06.2017 10:21

Не могу разобраться с closest()
 
Никак не могу добраться до значения data-аттрибута "day-month"
$(dayMonth).length) выводит 0
Событие отрабатывает - алерт выдается.

<div class="panel panel-heading text-center" data-day-month="2017-06-01">День</div>
	<div class="panel panel-body"> 
		<div class ="row">
			<div class ="col-sm-4 center-block"> 
				<div class = "btn btn-default btn-sm day-work">Дневная</div> 
...


$(".day-work").on("click", function (){
		var dayMonth = $(this).closest(".panel.panel-heading");
        alert('!!!');
		console.log($(dayMonth).length);       
        console.log($(dayMonth).data('day-month'));		
 });

laimas 12.06.2017 10:51

Цитата:

Сообщение от konst37
dayMonth = $(this)....

Уже JQ объект, зачем же $(dayMonth) ?

рони 12.06.2017 11:01

konst37,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
     $(".day-work").on("click", function (){
    var dayMonth = $(this).parents(".panel-body").prev(".panel.panel-heading");
        alert(dayMonth.data('day-month'));
 });

});
  </script>
</head>

<body>
<div class="panel panel-heading text-center" data-day-month="2017-06-01">День</div>
  <div class="panel panel-body">
    <div class ="row">
      <div class ="col-sm-4 center-block">
        <div class = "btn btn-default btn-sm day-work">Дневная</div>
...


</body>
</html>

Alexandroppolus 12.06.2017 11:18

вот что значит неправильные отступы :D я тоже не сразу заметил

konst37 13.06.2017 01:09

Rise
Да, запутался со вложенностью.

laimas
$ уже на автомате проставлен (привет PHP :) )

В общем помутнение рассудка вчера было. Всем спасибо за подсказки.


Часовой пояс GMT +3, время: 11:02.