2016-04-09 27 views
1

すべてのspanタグのHTMLを取得しようとしていますが、内部HTMLしか取得できません。これは私のコードです:Jqueryが要素を取得できないhtml

var spans = document.getElementsByTagName('span'); 
for(var i=0;i<spans.length;i++) { 
    alert($(spans[i]).html()); 
} 

これは、タグではなく、タグ内のテキストのみを印刷します。タグでそれを印刷するにはどうしたらいいですか?

+0

あなたはcodepen提供またはjsfiddleていただけますか? – HenryDev

答えて

1

var spans = $("span"); 
 
spans.each(function(index,element){ 
 
    alert(element.outerHTML); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
 
<span>Hallo</span>

あなたはouterHTMLとjQueryを使用することができます。それは

1

使用outerHTML

for (var i = 0; i < spans.length; i++) { 
    alert(spans[i].outerHTML); 
} 

DEMO

0

があなたのページのすべてのスパン要素をつかむには二つの方法をtheresの。

ネイティブのJavascript

var spans = document.getElementsByTagName('span'); 
for (var i in spans){ 
    //print out the whole tag 
    console.log(spans[0].outerHTML); 
} 

jQueryの

var spans = $('span'); 
spans.each(function(index,elem){ 
    //print out the whole tag 
    console.log(elem.outerHTML); 
}); 

の代わりに、迷惑ですアラートを使用して、にconsole.log(スパン)を使用します。 Webブラウザのコンソールを開いて、何が印刷されたかを確認してください。

編集:最初のポスターが正しいです、outerHTMLは行く方法です。

+0

しかし、私は何か違いを作っていない – Jois

+0

そしてあなたは実際に質問に答えていない... – Andy

+0

OPはすべてのスパンタグのHTMLを取得し、タグをつけたままにしていると述べました。私はそれがこのコードが何であるかと仮定し、そうでなければ私は紛失しています。 – Sparky256

0
var spans = document.getElementsByTagName('span'); 

     for(var i=0;i<spans.length;i++){ 


      alert(  +'<span> '+ $(spans[i]).html())+' </span>'; 
     } 
    } 

「スパン」というハードコードされた「ブックエンド」が追加されました。必要に応じて変更することができます。
これらは、あなたのhtmlのラッパーとして機能し、ループの各繰り返しで実行されます。

0

を役に立てば幸いここでそれを行うための別の方法です:

var spans = $('span'); 
 
    spans.each(function(index,element){ 
 
     alert($('<div/>').html(element).html()); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
 
<span>Hallo</span>

関連する問題