Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.01.2017, 18:48
Аспирант
Отправить личное сообщение для Scorp1978 Посмотреть профиль Найти все сообщения от Scorp1978
 
Регистрация: 30.01.2017
Сообщений: 39

Обработка массива
Здравствуйте всем подскажите пожалуста есть вот такой код
curr_vkl = window.location.hostname;
var links = window.document.querySelectorAll('li a');
if(links.length == 0){
 location = 'http://yandex.ru';} 
 else{
  links[Math.floor(Math.random()*links.length)].click();}


как получить в переменную сколько элементов массива link содержит совпадения с curr_vkl. И как сделать чтоб click() нажимал только те элементы которые содержат curr_vkl.
Ответить с цитированием
  #2 (permalink)  
Старый 30.01.2017, 19:25
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

filter https://learn.javascript.ru/array-iteration
Ответить с цитированием
  #3 (permalink)  
Старый 31.01.2017, 05:33
Аспирант
Отправить личное сообщение для Scorp1978 Посмотреть профиль Найти все сообщения от Scorp1978
 
Регистрация: 30.01.2017
Сообщений: 39

как найти curr_vkl в массиве links, не перебор массива а именно как найти в элементе массива
Ответить с цитированием
  #4 (permalink)  
Старый 31.01.2017, 12:39
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Scorp1978,
Смотрите еще раз ссылку от TestUser013. filter
Ответить с цитированием
  #5 (permalink)  
Старый 31.01.2017, 13:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Scorp1978,
window.addEventListener("DOMContentLoaded", function() {
    var curr_vkl = window.location.hostname;
    var links = window.document.querySelectorAll("li a");
    links = [].filter.call(links, function(a) {
            return a.href.indexOf(curr_vkl) !== -1
        });
    if (links.length == 0) location = "http://yandex.ru";
    else {
        links[Math.floor(Math.random() * links.length)].click()
    }
});
Ответить с цитированием
  #6 (permalink)  
Старый 31.01.2017, 18:25
Аспирант
Отправить личное сообщение для Scorp1978 Посмотреть профиль Найти все сообщения от Scorp1978
 
Регистрация: 30.01.2017
Сообщений: 39

TestUser013,
Dilettante_Pro,
рони,
спасибо получилось, исходный
curr_vkl = window.location.hostname;
var links = window.document.querySelectorAll('li a');

var links = [].filter.call(links, function(a) {
	return a.href.indexOf(curr_vkl) !== -1
});
alert(links[1]);
Ответить с цитированием
  #7 (permalink)  
Старый 31.01.2017, 18:34
Аспирант
Отправить личное сообщение для Scorp1978 Посмотреть профиль Найти все сообщения от Scorp1978
 
Регистрация: 30.01.2017
Сообщений: 39

а еще маленький вопросик как просто и быстро получить ВСЕ ссылки со страницы которые содержат словосочетание "googleads" ?
Заранее благодарен

Последний раз редактировалось Scorp1978, 31.01.2017 в 19:01.
Ответить с цитированием
  #8 (permalink)  
Старый 31.01.2017, 18:58
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

http://www.w3schools.com/jsref/met_d...sbytagname.asp
Ответить с цитированием
  #9 (permalink)  
Старый 31.01.2017, 19:13
Аспирант
Отправить личное сообщение для Scorp1978 Посмотреть профиль Найти все сообщения от Scorp1978
 
Регистрация: 30.01.2017
Сообщений: 39

Сообщение от TestUser013 Посмотреть сообщение
http://www.w3schools.com/jsref/met_d...sbytagname.asp

Дело в том что есть вот такой код страницы
<a data-original-click-url="https://googleads.g.doubleclic..........</a>

но почему-то вот этот код выбирает все ссылки кроме нужной
var links = window.document.getElementsByTagName("a");
for (i=0;i<=links.length;i++)(alert(links[i]))

может дело в iFrame
Ответить с цитированием
  #10 (permalink)  
Старый 31.01.2017, 19:19
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

Да, iFrame это отдельный документ. Если нужено в фрейме - ищите в нем:

document.getElementById('frameid').contentWindow.d ocument.getElementsByTagName();
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка массива. ureech Элементы интерфейса 4 30.10.2016 22:51
Обработка ответа $.post запроса - как в блоке div получить переменную массива NeilDaniels jQuery 63 31.05.2016 13:28
Обработка массива строк zerg jQuery 3 11.11.2012 14:33
Обработка массива в json delargo Общие вопросы Javascript 2 26.02.2012 14:40
Обработка массива элементов формы и сохранение Viper jQuery 0 19.01.2012 16:04