Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Кликнуть по картинке src ? (https://javascript.ru/forum/misc/80946-kliknut-po-kartinke-src.html)

noveek 31.08.2020 07:40

Кликнуть по картинке src ?
 
Здравствуйте пытаюсь кликнуть по картинке программно элемент имеет такой код
<img id="check" style="width:100px;" src="lamborgini.png">
пытаюсь
document.getElementsBy*("lamborgini.png")[0].click();
пишет
Uncaught TypeError: "lamborgini"[0].click is not a function at <anonymous>

voraa 31.08.2020 07:50

Что такое * в getElementsBy*?

Пытайтесь document.querySelector("img[src=lamborgini.png]").click()

noveek 31.08.2020 09:15

Что то не так
Uncaught DOMException: Failed to execute 'querySelector' on 'Document': 'img[src=lamborgini.png]' is not a valid selector.
at <anonymous>:1:10
document.querySelector("img[src=lamborgini.png]")[0].click();
Мб кавычки нужно экранировать или оно должно понимать и без внутренних кавычек ?

voraa 31.08.2020 09:30

document.querySelector("img[src='lamborgini.png']").click()

noveek 31.08.2020 09:31

Цитата:

Сообщение от voraa (Сообщение 528403)
Что такое * в getElementsBy*?

Пытайтесь document.querySelector("img[src=lamborgini.png]").click()

Спасибо огромное разобрался

document.querySelectorAll("img[src='lamborgini.png']")[0].click();

noveek 31.08.2020 20:35

Ещё по другому можно кликнуть
document.getElementById("price").src =("lamborgini.png").click(); только я синтаксис плохо знаю, а если без .click то нормально выполняется document.getElementById("price").src =("lamborgini.png") как правильно синтаксис этого же только с кликом прописать ?

voraa 31.08.2020 20:49

Что Вы хотите сделать?
При клике на картинку перенести ее в другую?
Тогда так
document.querySelectorAll("img[src='lamborgini.png']")[0].onclick = 
() => document.getElementById("price").src = "lamborgini.png";

noveek 31.08.2020 21:03

Цитата:

Сообщение от voraa (Сообщение 528426)
Что Вы хотите сделать?
При клике на картинку перенести ее в другую?
Тогда так
document.querySelectorAll("img[src='lamborgini.png']")[0].onclick = 
() => document.getElementById("price").src = "lamborgini.png";

Не совсем там две одинаковых картинки с одинаковыми названиями document.querySelectorAll вещь хорошая но кликает первую а мне нужно вторую ) и поэтому нужно идентифицировать точнее
Вот коды двух картинок

<img class="btn btn-light hover-expand-effect" style="width:100px;" src="lamborgini.png" disabled=""> - первая на неё клик заблокирован

<img id="price" style="width:100px;" src="lamborgini.png"> - вторая по ней и надо попытаться кликнуть

возможно потребуются так же дополнительные .focus и .mouseover

voraa 31.08.2020 21:15

Цитата:

Сообщение от noveek
<img id="price" style="width:100px;" src="lamborgini.png"> - вторая по ней и надо попытаться кликнуть

Ну так и кликайте
document.getElementById("price").click()
Цитата:

Сообщение от noveek
возможно потребуются так же дополнительные .focus и .mouseover

Поставьте обработчики, если надо
Хотя Вы в личку писали про бота, какие там могут быть mouseover?

noveek 31.08.2020 21:20

Цитата:

Сообщение от voraa (Сообщение 528429)
Ну так и кликайте
document.getElementById("price").click()

Поставьте обработчики, если надо
Хотя Вы в личку писали про бота, какие там могут быть mouseover?

Дело в том что они все id price document.getElementById("price").click() только src различается lamborgini.png murcelagro.png lotus.png )
А так почему то отказывается работать document.getElementById("price").src =("lamborgini.png").click();
Uncaught TypeError: "lamborgini.png".click is not a function
at <anonymous>:1:59
document.getElementById("price").src =("lamborgini.png").click; а так просто undefined и всё ничего не происходит

noveek 31.08.2020 22:42

После танцев с бубнами разобрался сначала как то удаляем первый элемент
document.querySelector("img[src='lamborgini.png']")[0].remove();
document.querySelector("img[src='lamborgini.png']")[0].click();
потом клик
@voraa, спасибо тебе добрый человек !

voraa 01.09.2020 00:17

Цитата:

Сообщение от noveek
Дело в том что они все id price

Не должно быть нескольких элементов с одинаковым id.
Только один. Это "имя" элемента, по которому только к нему можно обращаться.
Цитата:

Сообщение от noveek
А так почему то отказывается работать document.getElementById("price").src =("lamborgini.png").click();

Потому, что к строке "lamborgini.png" пытаетесь применить функцию click.
Ну как бы надо немного javascript подучить.


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