2015-08-10 27 views
9

Próbuję umieścić tekst we wszystkich znacznikach na stronie za pomocą konsoli internetowej.

Wszystko Znalazłem mówi korzystać każdy, próbowałem

var anArray = []; 

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

ale zwraca TypeError: $(...) .each nie jest funkcją.

Ja również próbowałem przy użyciu

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

Ale znowu, wszystko mogę to TypeError: $.each nie jest funkcją?

+11

Czy załadowany jQuery? –

+0

również, aby uzyskać html z "e", który jest tutaj, należy rozwinąć obiekt jquery do elementu DOM za pomocą e.get (0) lub e [0]. –

+0

Domyślam się, $ ('h2'). InnerHTML działa, aby uzyskać pierwszy znacznik h2, więc przypuszczam, że jQuery powinno być załadowane? –

Odpowiedz

25

1) Wklej:

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);
na konsoli

2) Wait 1 sec i wklejanie:

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

Teraz cała zawartość tagów H2 że stronę należy przechowywać w h2Arr

+1

Ten mały hack ... Po prostu wow! – Mathlight

0

Musisz użyć .html() zamiast .innerHTML:

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

Here skrzypce pracy.

+0

Wciąż otrzymuję $ .each nie jest funkcją, gdy próbuję go na stronie internetowej. –

+0

Ok. Tak więc jest problem z twoim jQuery. Być może, jak już wspomniano w komentarzach, jeszcze nie wczytałeś jQuery. Czy możesz opublikować cały swój kod? – bloC

1

jeśli piszesz kod jak bez $() np

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

$(var1).each(function(){}) //its right