- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
var SE = document.getElementsByTagName("a");
for (var i = 0; i < SE.length; i++)
{
if (SE[i].href.indexOf('http://www.govnokod.ru/ratings/comment/') == 0
&& SE[i].href.indexOf('on') != -1)
{
plusIT(SE[i].href);
console.log(SE[i].href);
}
}
function plusIT(ID)
{
$.get(
ID,
{},
function(x) {
});
}
также не стоит шерстить весь DOM, перебирая значения в поисках 1 элемента: это можно сделать с помощью getElementsByClassName (Firefox).
Да простят меня товарищи, рулонным кликаньем никогда не увлекался. Токмо пример. Простите, товарищи!..
Кстати, а в жаваскрипте есть foreach? Можно так написать?
не используй его. никогда.
он настолько плох, что лучше бы его просто не было.
> с другой стороны, прям vbs какой-то, ей-богу.
и кто у кого заимствовал?
В целом на любителя, у кого голова засрана лямбдами и фоп - пожалуйста. Оно хоть нормально обходит.
> по громоздкости
Это да, неудобно все эти function() писать.
Вот jvm-hotspot, например умеет в такую магию: если из анонимного класса бросается исключение (выход из цикла по заветам гвидо), а лямбда заинлайнилась туда где catch, то всё это превращается-превращается, внимание... в условный переход! Будто это break в цикле.
Только там это работает чаще, если кидать исключение-константу и/или не использовать объект исключения - пустой catch(), чтобы escape analysis смог понять что оно не надо.
Ключевое слово — script, а не java. Так что vbs — это почти js, только знаки препинания другие.
1. Для сраного IE придётся эскейпить: $('.comment\-vote\-on')
2. $('.comment-vote-on') не массив, а объект.
3. Тем не менее, у этого объекта есть свойства, доступные по индексу как элементы массива, и даже свойство length.
4. Форыч в js пробегает не значения, а индексы, поэтому придётся сохранять объект в какой-нибудь переменной, чтобы в теле цикла лишний раз не создавать.
С учётом вышеизложенного получаем: Хотя смысла в этом нет. А почему, см. мой комментарий ниже.
Ну и для всех современных веб-браузеров уже можно и без жуквери:
https://developer.mozilla.org/en-US/docs/Web/API/Document.querySelectorAll
Даже Тарас ушёл с девятой Оперы и только лохи сидят на седьмом ИЕ.
Вообще нет. Для for (var i in x) переменная i пробежится и по жквери-методам. И даже с проверкой на собственное поле всё равно несколько лишних полей останутся.
Мой мир больше никогда не будет прежним. for...in действительно использовать нельзя, кроме как для написания собственного Фаербага с блэкджеком и шлюхами.
Проблемы недобраузеров никого не волнуют, кроме их владельцев.
Кал какой-то.
>$('.comment\-vote\-on').toArray().
Зачем?
Пошёл. На работу, жквери учить. Вот так надо клик().клик().клик(), коротко:
$('a.comment-vote-against').click();
$("a.ajax:contains('показать')").click ()
В одном из тредов я вчера как раз этот вариант предлагал :)
Хорошо-хорошо, только не обрушивай на меня свою жуткую кару.
Я просто в диком ужасе. Что теперь мне делать??? Как загладить проступок?
inkanus-gray 16.03.2014 15:18
На жуквери действительно будет короче: $('.comment-vote-on').click();
Кал же какой-то был написан умышленно, чтобы продемонстрировать сэру Stertor'у и сэру s-a--m'у циклы в языке программирования Javascript.
P.S. Творится что-то странное. Пи уже отписывался в этом ГК и даже написал, почему for...in не стоит даже пытаться использовать.