JavaScript

Что нужно передавать в скобках, чтобы передать содержимое lineEdit предыдущего input?

mySlot( this.previousElementSibling.querySelector('input') );

maSlot( document.querySelector('input') );

maSlot( document.querySelectorAll('input')[0] );

Но как только у вас элементов станет чуть больше двух - и захочется добавить к ним какую-то новую функцию - задолбаетесь вернуться и дописывать всё. К тому же onclick может иметь только одно значение... т. е. если еще и в скрипте записать onclick = что-то там, то первый перестанет работать - его значение перепишется этим.

P.s. querySelector и SelectorAll поддерживают любые CSS-селекторы

P.s.-2 getElementsByTagName / ClassName - возвращают "живую" коллекцию элементов. Т. е. после каждого действия с элементом - список элементов будет обновляться. В большинстве случаев это просто не нужно.

P.s.-3

<input id="bubu">

var elem = document.getElementById('bubu');
elem.addEventListener('click', function(){
mySlot();
});
Nurmat Ismailov
Nurmat Ismailov
62 360
Лучший ответ
Паша Машинистов Я начинаю влюбляться в этот яп)))
document.getElementsByTagName("input")[0].value Лучше конечно атрибут id поставить.
Geldimyrat Geldiyew
Geldimyrat Geldiyew
13 291
Паша Машинистов Да лучше конечно через id или name))) Но тоже прикольно. document это получается объект документа?
Функция mySlot у тебя принимает строку, хотя функции в JS могут принимать любые типы данных и преобразовывать их автоматически. Вызов функции с таким аргументом ???вызывает синтаксическую ошибку, т. к. не понятно какие данные ты хочешь передать в функцию, если функция принимает строковое значение, то это значение должно быть заключено в кавычки, в JS строки записываются в двойные, одинарные и обратные кавычки. Внутрь двойных кавычек используй одинарные или обратные. Также бывают пишут по ошибке вот так mySlot(Vasya); в таком случае интерпретатор выдаст ошибку о не существующей переменной Vasya при вызове такой функции интерпретатор пытается найти эту глобальную переменную.
Юрий Полянин
Юрий Полянин
2 396