0

動的に生成されたリストがあります。

行をクリックすると、背景色を切り替えたいとします。たとえば、-赤、緑、黄です。たとえば、idが動的でない場合の答えを見てきました。

<ul data-role="listview" id="my-listview"  >
    <c:forEach var="line" items="${tl.reqs}">
        <li id="lnk"><a href="#" onclick= '
            $(this).toggle(function(){
                $(this).css("background-color","green");},
            function(){
                $(this).css("background-color","red");},
            function(){
                $(this).css("background-color","yellow");}
            );'
            ${line.name}</a>
        </li>
    </c:forEach>
4

1 に答える 1

1

リンクに ID (またはクラス) を追加します。

<a href="#" id="myLink">Test</a>

jQuery:

$('#myLink').click(function() {
    var color = $(this).css("background-color");
    console.log(color);
    switch(color) {
        case 'rgb(255, 255, 0)': 
            $(this).css("background-color", "green");
            break;
        case 'rgb(0, 128, 0)': 
            $(this).css("background-color", "red");
            break;
        case 'rgb(255, 0, 0)': 
        default:
            $(this).css("background-color", "yellow");
            break;
    }
    return false;
});

http://jsfiddle.net/samliew/SJwLy/9/

于 2013-02-28T03:39:11.190 に答える