Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   как вывести свойства объекта в алерте (https://javascript.ru/forum/dom-window/52254-kak-vyvesti-svojjstva-obekta-v-alerte.html)

imedia 10.12.2014 12:17

как вывести свойства объекта в алерте
 
Друзья, такая проблема, есть ссылка
<a href="/admin/dveri_edit/<?=$type_page;?>/<?=$value['producer']?>/<?=$value['id']?>">
<li>

</li>
</a>

Я пытаюсь вывести атрибут href этой ссылки в алерте
таким образом
var obj=$('.cat li')
var link =obj.parent('a')
var link_href=link.attr('href')
alert(link)//дает object Object
а alert(link_href)//не дает ничего

как вывести какими свойствами обладает данный объект object Object?

krutoy 10.12.2014 12:36

А почему не так?
<html>
<head>
<meta charset="windows-1251" />
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>

<a class="cat" href="/admin/dveri_edit/<?=$type_page;?>/<?=$value['producer']?>/<?=$value['id']?>">
<li>
 
</li>
</a>


<script>

link=$(".cat").attr("href")
alert(link)


</script>
</body>
</html>

зы жеквери не знаю, есличо

danik.js 10.12.2014 12:39

Цитата:

Сообщение от imedia
не дает ничего

Родителем <li> может быть только <ul> или <ol>, но никак не <a>.
Парсер как-то разруливает подобную кривую разметку, в итоге DOM получается с другой структурой.

krutoy 10.12.2014 12:44

Вообще работает ваш код
<html>
<head>
<meta charset="windows-1251" />
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>

<a class="cat" href="/admin/dveri_edit/<?=$type_page;?>/<?=$value['producer']?>/<?=$value['id']?>">
<li>
 
</li>
</a>


<script>

o=$(".cat li")
link=o.parent("a")
link_href=link.attr("href")
alert(link_href)

</script>
</body>
</html>

У вас класс не присвоен.

рони 10.12.2014 12:47

imedia,
мысли в слух ... либо троль ... либо копипастит вопросы с другого форума ... либо проще спросить, чем нарягаться и думать.
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       var obj=$('.cat li');  //это уже обьект jquery  даже если такого элемента <li> нет
var link =obj.parent('a');  //тоже обьект jquery даже если такого элемента <a>  нет
var link_href=link.attr('href');
alert(link)//дает object Object
console.log(link)  //как вывести свойства объекта
alert(link[0].href) //link[0] элемент <a> , если он был
alert(link_href)//не дает ничего
});
  </script>
</head>
<body class="cat">
<a href="фигня всякая">
<li>

</li>
</a>
</body>
</html>

danik.js 10.12.2014 12:48

Кажется я не прав. Парсер походу хавает такую разметку (хоть она и не разрешена спецификацией).

krutoy 10.12.2014 13:00

рони,
Я в жеквери ноль. щас пщупал чуток, по-моему, то еще говно. Вот допустим код
<html>
<head>
<meta charset="windows-1251" />
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>

<div id="one">
<p id="two">
<span id="three"></span>
</p>
</div>

<script>

alert($("#three").parent("div").attr("id")) // логично было бы, если б он рекурсивно доставал родителя
alert($("#three").parent("p").parent("div").attr("id")) // пошагово работает нормально.


</script>
</body>
</html>

То есть, он не только тормозной, он еще и нелогичный и дубовый. В связи с этим вопрос. Как Вы живете с этим? Нужен ли свой личный психолог при его употреблении, или достаточно водки для снятия стресса?

рони 10.12.2014 13:05

krutoy,
не зная броду не суйся в воду ... :write:
<html>
<head>
<meta charset="windows-1251" />
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>

<div id="one">
<p id="two">
<span id="three"></span>
</p>
</div>

<script>

alert($("#three").parents("div").attr("id")) // логично было бы, если б он рекурсивно доставал родителя
alert($("#three").parent("p").parent("div").attr("id")) // пошагово работает нормально.


</script>
</body>
</html>

krutoy 10.12.2014 13:13

рони,
<html>
<head>
<meta charset="windows-1251" />
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>

<div class="outer" id="one">
<p class="outer" id="two">
<span id="three"></span>
</p>
</div>

<script>

alert($("#three").parents(".outer").attr("id")) // а тут логично было бы, если б он рекурсивно создавал массив родителей, ан нет


</script>
</body>
</html>

рони 10.12.2014 13:23

Цитата:

Сообщение от krutoy
а тут логично было бы, если б он рекурсивно создавал массив родителей, ан нет

мне сложно понять вас ... нет не так ... как обычно ничего не понял ... нет не так ... @#$!% ... ну да, и оглоблей бы не помешало бы рекурсивно дубиналис ... как я понял из ваших слов, солнце нынче встаёт не с той стороны ...


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