Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как вывести свойства div значения которых равно 1? (https://javascript.ru/forum/events/55163-kak-vyvesti-svojjstva-div-znacheniya-kotorykh-ravno-1-a.html)

sovsem-nub 16.04.2015 08:45

Как вывести свойства div значения которых равно 1?
 
есть див с уникальным свойством title

<div title="поговорка" мама="1" мыла="1" папу="0" раму="1"></div>

как при помощи querySelector('[title="поговорка"]'). вывести все свойства значения которых равно единице.

ksa 16.04.2015 09:02

Цитата:

Сообщение от sovsem-nub
как при помощи
querySelector('[title="поговорка"]')
вывести все свойства значения которых равно единице.

Все по аналогии. Усиливай селектор...
<div title="поговорка" mama="1" мыла="1" папу="0" раму="1"></div>
<script type='text/javascript'>
alert(document.querySelectorAll('[title="поговорка"][mama="1"]').length)
</script>

ksa 16.04.2015 09:13

Цитата:

Сообщение от sovsem-nub
вывести все свойства значения которых равно единице

Вона че...

<div title="поговорка" mama="1" мыла="1" папу="0" раму="1"></div>
<script type='text/javascript'>
var o=document.querySelector('[title="поговорка"]');
for (var key in o) {
	if (o[key]===1) {
		alert(key+' = '+o[key]);
	};
};
</script>

sovsem-nub 16.04.2015 09:33

не работает так. для него 1 это true поэтому он 4 алерта с белибердой выдает. если 1 заменить на "y" (или единицу в кавычки взять) то алертов вообще нет


<div title="поговорка" мама="y" мыла="y" папу="n" раму="y"></div>
<script type='text/javascript'>
var o=document.querySelector('[title="поговорка"]');
for (var key in o) {
if (o[key]==="y") {
alert(key+' = '+o[key]);
};
};
</script>

ksa 16.04.2015 10:02

Цитата:

Сообщение от sovsem-nub
не работает так

Все там работает. Просто не факт, что тебе именно это нужно... :D
За сим подумай хорошенько чего ты в итоге хочешь таки получить. Потом правильно сформулируй свой вопрос.

ksa 16.04.2015 10:04

Цитата:

Сообщение от sovsem-nub
если 1 заменить на "y" (или единицу в кавычки взять) то алертов вообще нет

Это уже полный маразм. :lol:
Ты думаешь, если просто так потыкать пальцем в небо, произойдет чудо?

sovsem-nub 16.04.2015 10:33

есть див с уникальным свойством title

< div title="поговорка" мама="yes" мыла="yes" папу="no" раму="yes"></div>

как при помощи querySelector('[title="поговорка"]'). вывести все свойства значения которых равно yes. то есть получить фразу "мама мыла раму" ?

theKingOfJava 16.04.2015 12:41

<html>
<head>
<meta charset="windows-1251" />
</head>

<body>
<div title="поговорка" мама="yes" мыла="yes" папу="no" раму="yes"></div>

<script>

alert(
 document.querySelector('[title="поговорка"]')
  .outerHTML.match(/[а-яё]+="[^"]+"/g)
  .filter(function(x){return !/"no"/.test(x)})
  .join(" ")
  .replace(/=[^ ]+/g, "")
)


</script>

</body>
</html>

ksa 16.04.2015 13:12

Цитата:

Сообщение от sovsem-nub
есть див с уникальным свойством title

В твоем случае это не свойства... Это атрибуты. Причем атрибуты доморощеные, для них нет свойств у дом-элемента...
http://javascript.ru/tutorial/dom/attributes


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