2012-05-07 2 views
2

Я не могу найти правильное имя элемента для «сердца», что я хотел бы щелкнуть через яваскрипт закладку перечисленную на http://ink361.com/#/tag/JavaScript labellet не работает?

при просмотре страницы элементов перечислены как «любит» «a.likes.does» после кликнуть и «a.likes» до щелчка? - кто-то должен помочь найти правильное имя, чтобы я мог обновить код.

Я пытаюсь получить этот букмарклет, чтобы щелкнуть все сердца на странице ' Я не уверен, правильно ли «нравится», или я должен изменить его на что-то другое или если другая часть кода неверна ?

Как изменить код, чтобы заставить его работать?

javascript: e = document.getElementsByClassName('likes'); 
for (i = 0; i < e.length; i++) { 
    e[i].click(); 
} 
void(0); 

Если это не будет работать, в основном я пытаюсь выполнить JavaScript предпочтительно как букмарклет щелкать любит на этой странице.

При просмотре страницы я не знаю правильное имя класса, так что в настоящее время javascript не работает по неизвестным причинам?

+1

... по крайней мере, не последовательно (см. Обсуждение на [этой теме ответа] (http : //stackoverflow.com/a/10145332/990363)). Вам либо нужен jQuery (который добавляет значительные накладные расходы и сложность в ваш букмарклет) (ознакомьтесь с [jQuery Generator закладка] (http://benalman.com/projects/run-jquery-code-bookmarklet/) для идеи), или ваш собственное событие click à la * simulate.js * - @ocanal предоставляет код для этого в [его ответе] (http://stackoverflow.com/a/10487476/990363). – kopischke

ответ

-1

Ваш код выглядит нормально. Проблема в том, что я не могу даже щелкнуть мышью по слухам. У них нет прикрепленного кликера.

+0

Собственно, они делают - если вы подключаете сайт к вашей учетной записи Instagram (что-то имеет смысл - кому еще нужно «нравиться» изображениям Instagram, чем пользователь Instagram?) – kopischke

+0

Проблема с кодом: я не могу найти имя элемента. Я думаю, что это «нравится», но я похоже, не может заставить код функционировать как букмарклет или выполнить команду «DO javascript» на веб-странице. –

2

Вы намерены использовать функцию jQuery click? Это не будет работать в букмарклете без явного создания нового script тега, ссылающегося JQuery ..

Как IanW комментировал свой вопрос, вам нужно create your own click function.

+0

«Это не работает в букмаркете» меня удивляет - [этот пост] (http: // кодирование .smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery /) и [Ben Alman's jQuery Bookmarklet Generator] (http://benalman.com/projects/run-jquery-code-bookmarklet/) скорее предлагают другое ... – kopischke

+0

Оба из них создают ссылку на jQuery ... Обновленный ответ будет более кратким. –

+0

Никогда не говорил, что это не требуется - но и ваш оригинальный ответ не был. Процитировать неподражаемого «Белого Белого»: «Сейчас мы кокасифицируем»;). – kopischke

2

можно имитировать событие щелчка мыши, как это,

function clickAll() { 
    var clickEvt = document.createEvent("MouseEvents"); 
    clickEvt.initMouseEvent("click", true, true, window, 
         0, 0, 0, 0, 0, false, false, false, false, 0, null); 

    var e = document.getElementsByClassName('likes'); 
    for(i=0;i<e.length;i++) { e[i].dispatchEvent(clickEvt); } 
} 
+0

Это будет работать, однако в настоящее время он не работает, чтобы щелкнуть элементы, но имеет ли он потенциал для использования в качестве букмарклета? «Нравится» правильное имя класса? Как найти правильное имя класса? –

+0

Это идеальный вариант. Я просто хочу щелкнуть или вызвать все понравившиеся на текущей странице, выполнив javascript на странице. Но в настоящее время это не происходит, когда я запускаю его как букмарклет или используя приложение Javascript DO. –

+0

@johndoe: отлично работает на моей консоли - вы протестировали его там? «любит» действительно является правильным именем класса (просто проверяйте источник страницы при входе в систему - если вы используете Safari, который, как я полагаю, вы используете, когда вы говорите об использовании 'do javascript', используйте WebKit Inspector). В качестве дополнительной заметки лучше использовать 'document.querySelectorAll ('. Нравится')' вместо 'getElementsByClassName' - это намного быстрее. – kopischke

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

  • Нет связанных вопросов^_^