2015-08-10 5 views
9

Я пытаюсь получить текст внутри всего h2 теги на странице, используя веб-консоль.

Все, что я нашел говорит, чтобы использовать каждый, я пытался

var anArray = []; 

$('h2').each(function(i,e) { 
    anArray.push($(e).innerHTML); 
}); 

Но она возвращает TypeError: $(...) .each не является функцией.

Я также попытался с помощью

$.each('h2', function(i,e) { 
     anArray.push($(e).innerHTML); 
    }); 

Но опять же, все это я получаю TypeError: $.each не функция?

+11

Вы загружены JQuery? –

+0

также для получения html из «e», который является элементом здесь, вы должны распаковать объект jquery на элемент DOM, используя e.get (0) или e [0]. –

+0

Я предполагаю, что $ ('h2'). InnerHTML работает, чтобы получить первый тег h2, поэтому я предполагаю, что jQuery должен быть загружен? –

ответ

25

1) Paste:

var script = document.createElement('script');script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js";document.getElementsByTagName('head')[0].appendChild(script);
на консоли

2) Wait 1 сек и паста:

var h2Arr = []; 
$('h2').each(function() { 
    h2Arr.push($(this).html()); 
}); 

Теперь все содержимое h2 тегов, что страницу следует хранить в h2Arr

+1

Этот маленький взлом ... Просто ничего себе! – Mathlight

0

Вы должны использовать .html() вместо .innerHTML:

$.each($('h2'), function(index, value){ 
    alert($(value).html()); 
}); 

Here рабочей скрипка.

+0

Я все еще получаю $ .each - это не функция при попытке на веб-странице. –

+0

Ок. Таким образом, проблема с вашим jQuery. Возможно, как уже упоминалось в комментариях, вы еще не загрузили jQuery. Не могли бы вы разместить весь свой код? – bloC

1

если вы пишете код, как без $() , например

var1.each(function(){}) //its wrong//each function is not defined error 

$(var1).each(function(){}) //its right 
Смежные вопросы