9

メニューを選択済みとして設定するタスクがあります。そのために、動的 ID を使用します。だから私は選択に関してそれを増やしたい

私のコードは

<div class="menuHeader ui-corner-top" id="menu"+ i>
    <span><a href="#" onclick="Home()">Home</a></span>
</div>
<div class="menuHeader ui-corner-top" id="menu"+ i>
    <span><a href="#" onclick="NewTransaction()">New Transaction</a></span>
</div>
<div class="menuHeader ui-corner-top" id="menu"+ i>
    <span><a href="#" onclick="Portfolio()">Portfolio</a></span>
</div>

JavaScriptは

$(document).ready(function () {
             alert(document.URL);
             var list = $("#menu");
             for (var i = 1; i <= list.length; i++) {
                 list[i].innerHTML = i;
             }
             var str = document.URL.toLowerCase().indexOf("portfolio/index");
             alert(str);
             if (str >= 0) {
                 $('#menu').addClass("menuHeaderActive");
             }
         });

これどうやってするの?

4

3 に答える 3

15
var i=0;
$('.menuHeader').each(function(){
    i++;
    var newID='menu'+i;
    $(this).attr('id',newID);
    $(this).val(i);
});
于 2013-04-01T14:26:47.270 に答える
1

これはJqueryでそれを行う方法です

val elementList = $(".menu");
for (var i = 1; i <= list.length; i++) {
    elementList[i].attr("id", "menu" + i);
}
于 2013-04-01T14:31:23.530 に答える
0

ID の代わりにクラス名を使用するだけで、追加したばかりのコードを再利用できますが、この方法です。

 var list = $(".menu");

アドバイスの 1 つとして、項目メニューの強調表示を JavaScript で行うのではなく、サーバー側で行います。LI の HTML に「アクティブ化」クラスを直接追加できます。

于 2013-04-01T14:24:37.683 に答える