Size: a a a

JavaScript Noobs — сообщество новичков

2020 February 15

J

Jury in JavaScript Noobs — сообщество новичков
Здравствуйте. У меня вопрос:
допустим, у меня есть
<select id="test">
   <option value="1" data-some="1">один</option>
   <option value="2" data-some="2">два</option>
   ...
   <option value="100" data-some="100">сто</option>
</select>
как мне получить dataset конкретного <option>? Ведь document.getElementById('test').dataset получает dataset именно селекта, а не опшена.
источник

J

Jury in JavaScript Noobs — сообщество новичков
или подскажите где почитать. А то я далёк от JS
источник

R

Rou in JavaScript Noobs — сообщество новичков
Всем привет
showMessage()
function showMessage() {
 alert( 'Всем привет!' )
}

Кто может объяснить почему этот код сработает? Ведь я создаю функцию после её вызова
источник

S

Shurick in JavaScript Noobs — сообщество новичков
Jury
Здравствуйте. У меня вопрос:
допустим, у меня есть
<select id="test">
   <option value="1" data-some="1">один</option>
   <option value="2" data-some="2">два</option>
   ...
   <option value="100" data-some="100">сто</option>
</select>
как мне получить dataset конкретного <option>? Ведь document.getElementById('test').dataset получает dataset именно селекта, а не опшена.
let t = $('#test option:eq(2)').attr('data-some');
alert(t);
источник

P

Patrick Swayze in JavaScript Noobs — сообщество новичков
Rou
Всем привет
showMessage()
function showMessage() {
 alert( 'Всем привет!' )
}

Кто может объяснить почему этот код сработает? Ведь я создаю функцию после её вызова
Читай про hoisting
источник

J

Jury in JavaScript Noobs — сообщество новичков
Shurick
let t = $('#test option:eq(2)').attr('data-some');
alert(t);
а без jQuery никак?
источник

J

Jury in JavaScript Noobs — сообщество новичков
хотя ладно
источник

J

Jury in JavaScript Noobs — сообщество новичков
там где-то есть подключение jQuery
источник

S

Shurick in JavaScript Noobs — сообщество новичков
Jury
хотя ладно
welcome to dark side
источник

R

Rou in JavaScript Noobs — сообщество новичков
Patrick Swayze
Читай про hoisting
Благодарю
источник

J

Jury in JavaScript Noobs — сообщество новичков
так что не придётся ничего дополнительно тянуть
источник

J

Jury in JavaScript Noobs — сообщество новичков
Shurick
welcome to dark side
благодарю вас, Тёмный Лорд Джаваскриптов. Вы очень помогли мне.
источник

М

Максим in JavaScript Noobs — сообщество новичков
Jury
Здравствуйте. У меня вопрос:
допустим, у меня есть
<select id="test">
   <option value="1" data-some="1">один</option>
   <option value="2" data-some="2">два</option>
   ...
   <option value="100" data-some="100">сто</option>
</select>
как мне получить dataset конкретного <option>? Ведь document.getElementById('test').dataset получает dataset именно селекта, а не опшена.
Вот делал нечто похожее по курсу, я там тоже дата атрибут с option читал
https://codepen.io/Nomikama/pen/mdJPEEx
источник
2020 February 16

J

Jury in JavaScript Noobs — сообщество новичков
хмм...
источник

J

Jury in JavaScript Noobs — сообщество новичков
obj = document.getElementById('test');
let a = obj.options[obj.selectedIndex].getAttribute('data-some');
источник

М

Максим in JavaScript Noobs — сообщество новичков
Jury
obj = document.getElementById('test');
let a = obj.options[obj.selectedIndex].getAttribute('data-some');
let a = obj[obj.selectedIndex].getAttribute('data-some');
источник

J

Jury in JavaScript Noobs — сообщество новичков
но оно работает
источник

u

undefined in JavaScript Noobs — сообщество новичков
Konstantin Sedykh
а можно пример промиса с хотя-бы вычислением факториала, неблокирующего поток?
Чет я про тебя забыл совсем. Вот пример
async function factorial(n, label) {
   let result  = 1
   let current = n
   const to    = 1

   while (current > to) {
       console.log(label + ' iteration')
       const res = await Promise.resolve(current)

       result *= res
       current--
   }

   return result
}

И параллельный запуск между другими промисами
;(async () => {
   const result = await Promise.allSettled([
       factorial(5, '[first]'),
       factorial(6, '[second]'),
       factorial(7, '[third]')
   ])

   console.log(result)
})()
источник

u

undefined in JavaScript Noobs — сообщество новичков
Если хочешь чтобы в эти промежутки еще и макрозадачи вписывались, то вызови что-нибудь типо
function macrotask(value) {
   return new Promise(resolve => setTimeout(() => resolve(value), 0))
}
Вместое Promise.resolve(current)
источник

u

undefined in JavaScript Noobs — сообщество новичков
Ну и закономерный вопрос. Что собственное привнесли бы генераторы, за которые ты топил, чего я не могу сделать через обычный массив и await ?
источник