Обработка массива
Здравствуйте всем подскажите пожалуста есть вот такой код
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. |
|
как найти curr_vkl в массиве links, не перебор массива а именно как найти в элементе массива
|
Scorp1978,
Смотрите еще раз ссылку от TestUser013. filter |
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() } }); |
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]); |
а еще маленький вопросик как просто и быстро получить ВСЕ ссылки со страницы которые содержат словосочетание "googleads" ?
Заранее благодарен |
|
Цитата:
Дело в том что есть вот такой код страницы <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 |
Да, iFrame это отдельный документ. Если нужено в фрейме - ищите в нем:
document.getElementById('frameid').contentWindow.d ocument.getElementsByTagName(); |
var links = window.document.getElementById('google_ads_frame1').getElementsByTagName("a"); //.window.document.getElementsByTagName("a"); for (i=0;i<=links.length;i++)(alert(links[i])) пробовал разные варианты не пашет пишу в iMacros |
TestUser013,
кнопка ![]() |
как же быть, как же быть?
|
Scorp1978,
Не подбирайте варианты, прочтите документацию или уроки. рони, Спасибо. Учту :) |
вообщем
есть вот такой сайтик, http://bibliotekar.kz/stati/karakylysh-skazka.html нужно просто в массив вытащить все ссылки гугларекламы. Может есть другие варианты Чисто в имакросе способ нашел, но думаю можно красивее это сделать iimPlayCode('SET !TIMEOUT_STEP 0\n FRAME NAME=google_ads_frame'+w+'\nTAG POS=1 TYPE=A ATTR=href:*googleads* EXTRACT=HREF'); |
Часовой пояс GMT +3, время: 00:01. |