Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.08.2013, 19:03
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

сравнение jquery с чистым js
вечер добрый, подскажите пожалуйста, почему вот этот код работает как надо:
a = window.document.getElementsByTagName('a');
if (a){	
	for (i = 0; i < a.length; i ++){
		if (/qa\.php\?id=100/i.test(a[i].href)) { a[i].click(); }
	}
}
а вот этот хоть убей не хочет у меня выполняться
$(document).find('a').each(function(){
a=$(this).attr('href');
if (/qa\.php\?id=100/i.test(a)) {$(this).click();}
});

может я что-то не так делаю ? вообще проблема в том, что во втором варианте клик не срабатывает, а вешаю другое событие - вроде норм.

Последний раз редактировалось JustCrazy, 29.08.2013 в 19:12.
Ответить с цитированием
  #2 (permalink)  
Старый 30.08.2013, 05:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А че не так:
$('a[href*="qa.php?id=100"').click()

Последний раз редактировалось danik.js, 30.08.2013 в 05:13.
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2013, 07:23
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

а у меня работает, хотя if и регекспы я пропустил
придется вам самому с отладчиком ковыряться

<!doctype html>
<html>
<body>

<a href="http://www.google.com">google.com</a>
<a href="http://habrahabr.ru">habrahabr.ru</a>

<script src="/jquery.min.js"></script>
<script>
$(function() {
  $('a').click(function(e) {
    e.preventDefault();
    console.log('clicked '+this.href);
  });
  
  (function () {
    var a = window.document.getElementsByTagName('a');
    for (i = 0; i < a.length; i ++){
      a[i].click();
    }
  })();
  
  (function() {
    $(document).find('a').each(function() {
      $(this).click();
    });
  })();
});
</script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2013, 08:54
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

Сообщение от danik.js Посмотреть сообщение
А че не так:
$('a[href*="qa.php?id=100"').click()
помимо ссылки там еще условия есть, не суть
Сообщение от mta88 Посмотреть сообщение
а у меня работает, хотя if и регекспы я пропустил
придется вам самому с отладчиком ковыряться
ну вот я вместо .click() вешаю .hide() и это событие у меня отлично работает, а клик не хочет
кстати, просмотрел Ваш пример, как таковое событие происходит, согласен, логи идут, но вот действия тоже не происходит

Последний раз редактировалось JustCrazy, 30.08.2013 в 09:07.
Ответить с цитированием
  #5 (permalink)  
Старый 30.08.2013, 09:40
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от JustCrazy
вешаю .hide() и это событие...
Это никакое не событие. Это функция. И click() - тоже функция. Но ее вызов за собой влечет генерацию события click. Причем браузер при этом действия не совершит. Нельзя вызвать действие браузера генерируя события средствами JS.
Если нужно перейти по ссылке - пиши location.href = this.href.
И еще вопрос - как ты себе представляешь переход по всем ссылкам сразу?
Ответить с цитированием
  #6 (permalink)  
Старый 30.08.2013, 13:44
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от danik.js Посмотреть сообщение
И еще вопрос - как ты себе представляешь переход по всем ссылкам сразу?
Видимо, имеется в виду target="_blank"
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2013, 16:18
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от BETEPAH
Видимо, имеется в виду target="_blank"
Тогда это window.open(this.href), но это сработает только внутри обработчика события, иначе браузер заблокирует новые окна.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery передача JS Radix Общие вопросы Javascript 3 30.11.2012 11:57
Ищу jquery, js, html, css спеца. AlexBell Работа 41 23.11.2012 08:20
JQuery и JS - динамичность элементов MCTrane jQuery 1 26.10.2010 21:41
jQuery, load: замена элемента вырубает js на странице. warobushek AJAX и COMET 0 08.10.2010 07:44
Вакансия: Front-end разработчик (HTML, CSS, JS, Ajax, jQuery) ivankov Работа 0 05.10.2010 19:00