2012-06-14 3 views
1
<input type="hidden" name="my_id" id="my_id" value="1"> 

<ul class="myList clearfix" id="thismyList"> 
<li class="myBullet" id="answer1">blabla1</li> 
<li class="myBullet" id="answer2">blabla2</li> 
<li class="myBullet" id="answer3">blabla3</li> 

Как я могу щелкнуть элемент по условию с помощью Greasemonkey?

На этой странице я хочу что-то вроде этого:

if document.getElementById('my_id').value=="1" 
document.getElementById('answer1').click; 
if document.getElementById('my_id').value=="2" 
document.getElementById('answer3').click; 
if document.getElementById('my_id').value=="3" 
document.getElementById('answer1').click; 
if document.getElementById('my_id').value=="4" 
document.getElementById('answer2').click; 

Я пишу это, чтобы показать, что я хочу. Я знаю, что код неправильный. Но я думаю, что это объясняет, что я хочу. Как я могу это сделать?

+0

И вы забыли скобки для вызова функции * click *. –

ответ

1

Правильный синтаксис для этого будет:

switch (document.getElementById('my_id').value) { 
    case "1": 
     document.getElementById ('answer1').click(); 
     break; 
    case "2": 
     document.getElementById ('answer3').click(); 
     break; 
    case "3": 
     document.getElementById ('answer1').click(); 
     break; 
    case "4": 
     document.getElementById ('answer2').click(); 
     break; 
    default: 
     break; 
} 

Обратите внимание, что в некоторых случаях может потребоваться, чтобы вызвать события мыши, как в this answer.

+0

это не работает с кликом по id, но я комбинировал этот код с кодом в ответе на этот вопрос: http://stackoverflow.com/questions/10971661/how-can-i-click-a- li-item-with-greasemonkey, и он работает. Благодарю. – Leadri

+0

Хорошо, что вы его работали, но никто не знает, что вы хотите щелкнуть на основе текстовых значений по сравнению с идентификаторами, исходя из вопроса, который вы задали здесь. Мы отвечаем на заданный вопрос, а не на вопрос, который был отфильтрован по предыдущим вопросам, если вы специально не ссылаетесь на них (что не было сделано). –

0

ЕСЛИ вы хотите вызвать поведение щелчка функции, которую вы должны просто вызвать.

document.getElementById('id').click(); 

Я думаю, что он должен работать так же, как и без '()'.

+0

не работает – Leadri

Смежные вопросы