Обработка массива
Здравствуйте всем подскажите пожалуста есть вот такой код
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,
кнопка для js - кода, тогда без пробелов будет |
как же быть, как же быть?
|
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, время: 16:54. |