Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обработка массива (https://javascript.ru/forum/misc/67137-obrabotka-massiva.html)

Scorp1978 30.01.2017 18:48

Обработка массива
 
Здравствуйте всем подскажите пожалуста есть вот такой код
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.

TestUser013 30.01.2017 19:25

filter https://learn.javascript.ru/array-iteration

Scorp1978 31.01.2017 05:33

как найти curr_vkl в массиве links, не перебор массива а именно как найти в элементе массива

Dilettante_Pro 31.01.2017 12:39

Scorp1978,
Смотрите еще раз ссылку от TestUser013. filter

рони 31.01.2017 13:10

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()
    }
});

Scorp1978 31.01.2017 18:25

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]);

Scorp1978 31.01.2017 18:34

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

TestUser013 31.01.2017 18:58

http://www.w3schools.com/jsref/met_d...sbytagname.asp

Scorp1978 31.01.2017 19:13

Цитата:

Сообщение от TestUser013 (Сообщение 442831)


Дело в том что есть вот такой код страницы
<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

TestUser013 31.01.2017 19:19

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

document.getElementById('frameid').contentWindow.d ocument.getElementsByTagName();


Часовой пояс GMT +3, время: 12:36.