2016-11-02 11 views
1
@foreach (var item in Model) 
     { 
      <div class="panel-heading"> 
       <h1> 
        <a href="#">@item.Title</a> 
       </h1> 
      </div> 
     } 

結果; (ポストページあたり:6)複数のh1要素をh1、h2、h3、h4、h5、h6のjavascriptに置き換えるにはどうすればよいですか?

<div class="panel-heading"> 
    <h1> 
     <a href="#">@item.Title</a> 
    </h1> 
</div> 

...

<div class="panel-heading"> 
    <h1> 
     <a href="#">@item.Title</a> 
    </h1> 
</div> 

6 H1要素私はH1、H2、H3、H4、H5、H6にすべてのH1要素を置き換えることができますどのように

JavaScriptで?このよう

<div class="panel-heading"> 
    <h1> 
     <a href="#">@item.Title</a> 
    </h1> 
</div> 

<div class="panel-heading"> 
    <h2> 
     <a href="#">@item.Title</a> 
    </h2> 
</div> 
<div class="panel-heading"> 
    <h3> 
     <a href="#">@item.Title</a> 
    </h3> 
</div> 
<div class="panel-heading"> 
    <h4> 
     <a href="#">@item.Title</a> 
    </h4> 
</div> 

<div class="panel-heading"> 
    <h5> 
     <a href="#">@item.Title</a> 
    </h5> 
</div> 

<div class="panel-heading"> 
    <h6> 
     <a href="#">@item.Title</a> 
    </h6> 
</div> 
+0

uはループ内でカウンタを持っており、動的に見出しレベルを追加することはできませんか? <[email protected]> ...? –

答えて

0

あなたはこのような何かを試みることができる(それはかなりありませんが、それは動作します)。 jsfiddleもここにあります。

var count = 1; 
$(".panel-heading > h1").each(function() { 
    $(this).replaceWith($("<h" + count + ">" + this.innerHTML + "</h" + count + ">")); 
    count++; 
}) 
+1

ありがとう、それは動作しています;) – Zalu

+0

@ Zalu確かに、喜んでそれが助け! –

0

あなたはこれらすべてのH1タグを取得するためにjQueryのセレクタを書き、それらを介してループとタグをH6と新しいタグにH1を置き換えるためにreplaceWithを使用するために、H1を生成することができます。

以下のコードは、h1からh6を行います。 6つ以上のh1タグがある場合、h6の後にpタグに入れます。

$(function(){ 

    $(".panel-heading").find("h1").each(function(a,b){ 
     var newTag='<p'+(a+1)+' \>'; 
     if(a<=5) 
     { 
     newTag='<h'+(a+1)+' \>'; 
     }   
     var content=$(b).html();  
     var s=$(newTag).append(content); 
     $(b).replaceWith(s) 
    }); 

}); 

Hereあなたはこのサーバー側のような何かを行うことができ、作業のjsビン

+1

ありがとう、それは作品です;) – Zalu

関連する問題