2017-01-15 8 views
0

は、誰でもHTMLのhrefタグとコードにjavascript変数を入れる方法を提案できます。具体的には、ページを読み込むとき、私は次のコードdiv idを定義し、そのjavascript関数の引数としてcount_newsCatの値で5を渡すことができます。たとえば、最初のdivにid 'newsCat1'、二番目の 'newsCat2'、などを持っているでしょう。..JavaScriptの変数値をHTML hrefに代入し、関数

コード以下の通りです:

<script>count_newsCat = 1;</script> 
    {% for tag_field in tag_table %} 
    <div name="{{tag_field.tag_name}}" class="tile" id="newsCat_gp" > 
     <span onclick="this.parentNode.style.display = 'none';" class="closebtn">&times;</span> 
     <a id="imageDivLink" href="javascript:toggle5('newsCat' + count_newsCat, 'list_div', 'imageDivLink');"><img src= "{% static '/img/minus.png' %}"></a> 
     <div class="tile__name"><b><font size="2px">{{tag_field.tag_name}}</b></font></div> 
     <div class="tile__list" id="newsCat" + <script>count_newsCat;</script> style="display: block;"></div>     
    </div> 
    <script>count_newsCat++;</script> 
    {% endfor %} 

多くの感謝!

+0

驚くべきことではありませんが、ネイティブのDOMとブラウザはこれをサポートしていません。これは、静的なhtmlファイルにコンパイルするテンプレートシステム(アンダースコアテンプレートなど)でのみ実現できます。 – Xlee

答えて

1

あなたはES5を使用する場合は、このようなテンプレートを使用することができます。

`<a href='javascript:toggle5("${DivID}","list_div","imageLink")'>Link</a>` 

ない場合には、このようになりますので、あなたは、ハンドルのような任意のテンプレートライブラリと同じことを行うことができます:

for(var x = 10; x > 0; x--){ 
    var html = handlebar(source, {id:x,div:"list_div",link:"imageLink"}) 
    return template(html) 
}// I dont remember pretty well the syntax of handlebars, find it in google 

あなたのテンプレートは次のようなものになります

<a href='javascript:toggle5("{{DivID}}","{{list_div}}","{{imageLink}}")'>Link</a> 
+0

解決策はありがとうございます。私は、{{forloop.counter}}を使ってDjangoテンプレートで同じ目的を達成できることを知りました。これはcount_newsCat ++の機能を果たします。 –

+0

ハッピーコーディングを手伝ってうれしい! – damianfabian

関連する問題