powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Найти элемент на странице
8 сообщений из 8, страница 1 из 1
Найти элемент на странице
    #38950443
Targem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Есть страница. На ней кнопка. В зависимости от того, была нажата кнопка или нет у нее меняется имя класса. Пытаюсь, отловить эту кнопку и нажать на нее в зависимости от того какое имя класса у нее в данный момент. Пытаюсь так
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
	var elem=document.getElementsByClassName("Имя класса до нажатия");
if(elem!=null){                                                                //Если находит то нажимает 
		elem[0].click();
		alert("Имя такое-то");
}else{                                                                    // Значит кнопка была нажата и ищем по другому имени класса
		document.getElementsByClassName("Имя класса после нажатия")[0].click();
		alert("Имя такое-то");
}



Срабатывает только та часть, что в if, т.е. если имя класса соответствует имени класса после нажатия, то никакой реакции не происходит. Никогда до этого дела с JS не имел. Заранее спасибо.
...
Рейтинг: 0 / 0
Найти элемент на странице
    #38950461
Targem,

Код: 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.
<!DOCTYPE HTML>
<html>
<head>
<title>Замена класса</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<style>
#chk1 {display:none;}
.class1 {background:#708090; color:#fff;}
.class2 {background:#32CD32; color:#000;}
</style>
</head>
<body>
<input type="checkbox" id="chk1">
<button onclick="SwitchClass(this)" class="class1"> Меняем класс </button>

<script>
function SwitchClass(el) {
  inp = document.getElementById('chk1');
  if (inp.checked) {el.className = 'class1';} else {el.className = 'class2';}
  inp.checked = !inp.checked;
}
</script>
</body>
</html>
...
Рейтинг: 0 / 0
Найти элемент на странице
    #38950705
Targem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ваш код добавляет кнопку на страницу по чекбоксу меняет имя класса. Я же пытаюсь нажать кнопку на другой странице, просто надо проверить какое имя класса у кнопки в данный момент (то есть была она нажат или нет). Выглядит скрипт так
Код: javascript
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.
// ==UserScript==
// @name myUserJS
// @license MIT
// @version 1.0
// @include http://имя сайта/*
// ==/UserScript==

(function (window, undefined) {  
    var w;
    if (typeof unsafeWindow != undefined) {
        w = unsafeWindow
    } else {
        w = window;
    }
    if (w.self != w.top) {
        return;
    }
    if (/http:\/\/имя сайта/.test(w.location.href)) {
	var elem=document.getElementsByClassName("Имя класса до нажатия");
        if(elem!=null){                                                                //Если находит то нажимает 
		elem[0].click();
		alert("Имя такое-то");
        }else{                                                                    // Значит кнопка была нажата и ищем по другому имени класса
		document.getElementsByClassName("Имя класса после нажатия")[0].click();
		alert("Имя такое-то");
       }
     }
})(window);
...
Рейтинг: 0 / 0
Найти элемент на странице
    #38950813
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Targem,
Нафига такие сложности?
Задайте кнопке уникальный id и найтите ее по id
...
Рейтинг: 0 / 0
Найти элемент на странице
    #38950843
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TargemЯ же пытаюсь нажать кнопку на другой странице,

Думаю что не получится из за CSRF защиты браузера
...
Рейтинг: 0 / 0
Найти элемент на странице
    #38950849
Tagrem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YesSqlTargemЯ же пытаюсь нажать кнопку на другой странице,

Думаю что не получится из за CSRF защиты браузера

Но это же срабатывает.
Код: javascript
1.
2.
3.
4.
5.
var elem=document.getElementsByClassName("Имя класса до нажатия");
        if(elem!=null){                                                                //Если находит то нажимает 
	elem[0].click();
	alert("Имя такое-то");
}



Срабатывает первое что я поставлю в if. То что в else не срабатывает. Вот почему,
...
Рейтинг: 0 / 0
Найти элемент на странице
    #38950860
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TagremYesSqlпропущено...


Думаю что не получится из за CSRF защиты браузера

Но это же срабатывает.
Код: javascript
1.
2.
3.
4.
5.
var elem=document.getElementsByClassName("Имя класса до нажатия");
        if(elem!=null){                                                                //Если находит то нажимает 
	elem[0].click();
	alert("Имя такое-то");
}



Срабатывает первое что я поставлю в if. То что в else не срабатывает. Вот почему,
Ну если кнопка после нажатия находится но click() не срабатывает то значит что-то в этом классе "после нажатия". Я бы предположил что кнопка блокируется от повторного нажатия.
...
Рейтинг: 0 / 0
Найти элемент на странице
    #38950864
Tergem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет. Не блокируется.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Найти элемент на странице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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