0

新しいタグを動的に追加しましliたが、クリックするとアクティブになるクラスに基づいて異なる画像を表示するはずですが、それを手に入れることができません。変更するはずの画像がimgタグにあるため、そのタグの変更条件がタグのアクティブなクラスであることはわかっsrcていimgますli

jqueryで次のコードを使用してみました

if ($("li").hasClass("active"))
{
    $("img#test2").attr("src","assets/img/button_home_selected3.png");
} 
else 
{
    $("img#test2").attr("src","assets/img/button_home_plain.png");
}

HTML は次のとおりです。

<li id="test" style="list-style: none;" class="active">
    <a href="#home" data-toggle="tabs"><img src="assets/img/button_home_plain.png" id="test2"  width="83" style="margin-left:10px;"</a>
</li>

イベントハンドラ:

$('.plus').click(function(e) {
e.preventDefault();
var li_count = $('#nav-tabs li').length;
if (li_count <= 3)
if(counter <= 3){
$('#nav-tabs').append('<a href="#tab' + counter + '" data-toggle="tabs"><li style="list-style: none; float:left; margin-left:-5px; width:82px;"><img src="assets/img/button_home_plain.png" width="83" style="margin-left:18px;" /></a></li>');
} else { alert("Only 3 Tabs Allowed!")};
4

1 に答える 1

0

これを試して:

...
...
//code where you are changing the class
...
...

$('li').each(function() {
    if($(this).class().indexOf("active") !== -1)
    {
        //Active class is applied
        $(this).children().children().attr("src", "assets/img/button_home_selected3.png");
    }
    else
    {
        $(this).children().children().attr("src", "assets/img/button_home_plain.png");
    }
});

...
...
于 2013-02-08T09:50:22.510 に答える