Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS показать первый span / 25 сообщений из 40, страница 1 из 2
05.11.2014, 15:37
    #38796461
vbvvvv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
подскажите, ато запутался в "хлам":)
Код: html
1.
2.
3.
4.
5.
6.
7.
<ul>
<li>
<span> Болото 
<strong> Б </strong>
<span> олото </span>
</li>
</ul>


у меня есть возможно нажатия на тот или иной span, при нажатии на первый я получаю значение innerHTML "Болото", на второй "олото"
как сделать, что всегда выдавало значение первого span в наборе данного списка
...
Рейтинг: 0 / 0
05.11.2014, 15:43
    #38796475
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
vbvvvvкак сделать, что всегда выдавало значение первого span в наборе данного списка
- Выходить на родителя
- Брать его первый спан
...
Рейтинг: 0 / 0
05.11.2014, 16:01
    #38796492
vbvvvv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
krvsa,
а как?
можно только через колекцию? или как-то можно по-другому.
можно хоть один рабочий пример, ато у меня ничего не получается
...
Рейтинг: 0 / 0
05.11.2014, 16:16
    #38796509
brbrbr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
Код: javascript
1.
$("ul span").eq(0)


Вполне себе рабочий.
...
Рейтинг: 0 / 0
05.11.2014, 16:19
    #38796515
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
буквы Ви и Би находяться радом на клаве... по его нику можно судить о причине не получаеться. :)
...
Рейтинг: 0 / 0
05.11.2014, 16:36
    #38796532
vbvvvv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
brbrbr
спасибо за вариант
но, я не использую JQUERY и не буду - там полная каша
мне нужна подсказка на чистом JS
не так давно начал изучать, поэтому возникают сложности
...
Рейтинг: 0 / 0
05.11.2014, 16:51
    #38796545
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
...
Рейтинг: 0 / 0
05.11.2014, 17:05
    #38796566
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
vbvvvv,

примерчик...
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<!DOCTYPE html>
<html>
<head>
</head>
<body> 
<button onclick="GetSpan()">Run</button>
<ul id="asdf">
	<li>
		<span>Иванов?</span>
		<strong>Я!</strong> <br>
		<span>Петров?</span>
	</li>
</ul>
</body>

<script type='text/javascript'>
function GetSpan() {
	var num = 1; // номер span, который надо найти
	var k = 0;
	var ch = document.getElementById('asdf').children[0].children;
	for (i=0; i < ch.length; i++) {
		if (ch[i].tagName.toUpperCase() == 'SPAN') {
			k++;
			if (k == num) {alert(ch[i].innerHTML); return;}
		}
	}
};
</script>
</html>
...
Рейтинг: 0 / 0
05.11.2014, 19:36
    #38796705
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
vbvvvvможно только через колекцию? или как-то можно по-другому.
Всегда нужно стараться использовать удобные варианты... Т.е. и так, и так можно делать...

vbvvvvможно хоть один рабочий пример, ато у меня ничего не получается
Так и ты пока ничего рабочего не показал...

vbvvvvу меня есть возможно нажатия на тот или иной span, при нажатии на первый я получаю значение innerHTML "Болото", на второй "олото"
Как у тебя это сделано? Сделай полный пример - на нем можно будет показать некий вариант реализации...
...
Рейтинг: 0 / 0
05.11.2014, 20:02
    #38796720
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
vbvvvv, как-то так:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
<!DOCTYPE HTML>
<html>  
<head></head>  
<body>
  <ul onclick="onListClick(this,event)">
    <li>
      <span>Болото</span>
      <b>Б</b><span>олото</span>
      <span><b>Д</b>олото</span>      
      <b>М</b><span>олото<b>к</b></span>
    </li>
  </ul>
  <script>
    function firstSimilarSibling(element) {
      var sibling = element.previousSibling,
          similarSibling = element;
      
      while (sibling) {
        if (sibling.tagName == element.tagName) {
          similarSibling = sibling;
        }
        
        sibling = sibling.previousSibling;
      }
      
      return similarSibling;
    }
    
    function onListClick(sender, e) {
      var event = e || window.event,
          target = event.target || event.srcElement,
          targetSibling,
          targetTagName = target.tagName;
      
      switch(targetTagName) {
        case 'SPAN':
          targetSibling = firstSimilarSibling(target);
          
          alert(targetSibling.innerHTML);
          break;
      }
    }
  </script>
</body>
</html>


Навигация в DOM, свойства-ссылки
...
Рейтинг: 0 / 0
06.11.2014, 00:27
    #38796829
Да ну
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
До кучи:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
function onListClick(sender, e) {
   for (
      var node = (e=e||event).target||e.srcElement;
      node && node.tagName != 'LI';
      node=node.parentElement
   ) {};
   if (node) alert(node.children[0].innerHTML);
}	
...
Рейтинг: 0 / 0
06.11.2014, 08:11
    #38796925
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
Ребята, вы явно перебарщиваете...

У ТСа есть уже обработка клика на спан. А вы что-то нагородили в стиле нидзя.
...
Рейтинг: 0 / 0
06.11.2014, 10:30
    #38797027
vbvvvv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
Огромное спасибо!
Мне все примеры пригодятся, думаю разберусь
...
Рейтинг: 0 / 0
06.11.2014, 10:41
    #38797040
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
krvsaРебята, вы явно перебарщиваете...

У ТСа есть уже обработка клика на спан. А вы что-то нагородили в стиле нидзя. Уася, в каком таком стиле ниндзя-шминдзя?
я ему показал как делается делегирование и дал ссылку на учебник, чтобы разбирался!
...
Рейтинг: 0 / 0
06.11.2014, 10:42
    #38797042
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
vbvvvvОгромное спасибо!
Мне все примеры пригодятся, думаю разберусьНе за что, ссылкой на учебник не забудьте воспользоваться.
...
Рейтинг: 0 / 0
06.11.2014, 13:11
    #38797223
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
skyANAУася, в каком таком стиле ниндзя-шминдзя?
Для меня "стиль нидзя" это рабочий код... Но написанный как можно непонятнее, с применением "особенных" возможностей синтаксиса языка.
...
Рейтинг: 0 / 0
06.11.2014, 14:04
    #38797296
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
krvsa, стиль ниндзя - это следующее: Как писать неподдерживаемый код?
...
Рейтинг: 0 / 0
06.11.2014, 14:07
    #38797304
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
И что не понятно в моём коде?

Там используется Делегирование событий , а метод поиска первого похожего соседа вынесен из обработчика в отдельную функцию, чтобы не перегружать сам обработчик.
...
Рейтинг: 0 / 0
07.11.2014, 08:08
    #38798113
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
skyANAkrvsa, стиль ниндзя - это следующее: Как писать неподдерживаемый код?
У меня просто свое представление об этом...
...
Рейтинг: 0 / 0
07.11.2014, 08:10
    #38798115
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
skyANAИ что не понятно в моём коде?
Дык дело не совсем в коде... Дело в самой реализации исходной задачи ТСа... У него уже есть обработка клика на спанах, осталось всего ничего:
- взять родителя
- взять первый спан
...
Рейтинг: 0 / 0
07.11.2014, 13:20
    #38798449
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
krvsaskyANAИ что не понятно в моём коде?
Дык дело не совсем в коде... Дело в самой реализации исходной задачи ТСа... У него уже есть обработка клика на спанах, осталось всего ничего:
- взять родителя
- взять первый спанНу то есть ты предлагаешь всё это делать в самом обработчике, не вынося поиск первого спана в отдельный метод? Это и есть ниндзя код.
Вернея ниндзя обработчик.
...
Рейтинг: 0 / 0
07.11.2014, 15:02
    #38798589
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
skyANAНу то есть ты предлагаешь всё это делать в самом обработчике, не вынося поиск первого спана в отдельный метод?
Мне просто кажутся, вышеприведенные решения, черезчур сложными для решения проблемы ТСа...

Т.е. я не про сам подход к решению проблемы... А именно в этом конкретном случае с "дано".
...
Рейтинг: 0 / 0
07.11.2014, 15:13
    #38798607
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
krvsa,

ничего лишнего в firstSimilarSibling не наблюдаю.
...
Рейтинг: 0 / 0
07.11.2014, 15:38
    #38798643
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
Изопропил , я тут высказываю лишь свое мнение... Другим его никак не навязываю...
...
Рейтинг: 0 / 0
10.11.2014, 14:46
    #38800852
vbvvvv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS показать первый span
возникла еще проблемка:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
function selectHelp(ev,inp){
    var event = ev || window.event;
    var target = event.target || event.srcElement;
    //console.log(target.parentNode.nodeName);
    document.getElementById('obl').value = (target.parentNode.nodeName=='LI' || '') && target.parentNode.children[0].innerHTML;
    document.getElementById('select_list').style.display = 'none';
    }


у меня куча input, для каждого событие onclick='selectHelp(event,obl)'
я пытаюсь передать название id нужного input, к примеру selectHelp(event,obl) или selectHelp(event,city)

<
Код: javascript
1.
input type="text" name="obl" id="obl" placeholder="Область" onkeyup='createHelpList(event,rn)' />



но в JS для каждого id резервируется переменная в window походу, поэтому мне выдает в переменной id содержание инпута, а я хочу в функцию передать текст вида 'obl' и подставить его в document.getElementById(сюда подставить переменную).value
но не получается
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS показать первый span / 25 сообщений из 40, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]