javascript - jQuery移动 ListView 更改选择元素并突出显示它

标签 javascript jquery css html jquery-mobile

在一个页面中,有一个 ListView ,第一项被选中:

var len = results.rows.length,
$list = $("#listAddr");
var $strHTML  =" ";
for (var i = 0; i < len; i++) {
    $strHTML += '<li ';
    if (i == 0) {
        $strHTML += ' data-theme="b" ';
    }


    $strHTML += '> <a href="#" data-ajax="false"';
    $strHTML += ' data-id="' + results.rows.item(i).Id + '">' + results.rows.item(i).Name + '</a></li>';
}

$list.html($strHTML);
$list.delegate('li a', 'click',function(e){
//  $("#listAddr").attr("li").removeClass("liSel");
    $(this).addClass("data-theme='b'");
    $("#listAddr").listview("refresh");
    //$(this).removeClass("data-theme");
    clickAddr($(this).data('id'));
});

当我选择第三个元素时,我希望第三个元素为“data-theme='b'”样式,第一个元素删除主题。如何才能做到这一点?

最佳答案

您可以执行以下操作

$('#listAddr li').bind('click', function () {
    $('#listAddr li').attr("data-theme", "c").removeClass("ui-btn-up-b").removeClass('ui-btn-hover-b').addClass("ui-btn-up-c").addClass('ui-btn-hover-c');
    $(this).attr("data-theme", "b").removeClass("ui-btn-up-c").removeClass('ui-btn-hover-c').addClass("ui-btn-up-b").addClass('ui-btn-hover-b');
});

这是 Live fiddle 的示例

关于javascript - jQuery移动 ListView 更改选择元素并突出显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740815/

相关文章:

c# - asp.net mvc 5 中的逗号小数点分隔符

jquery - 将jQuery验证错误发送给Google Analytics(分析)

html - 旋转 div 馅饼与过渡

javascript - div 是否会弄乱文本选择?

javascript - 垂直对齐 flex 方向行内中心的元素

javascript - JS - 如何为我的代码删除 setTimeOut

javascript - 将每 N 个空格替换为换行符

jquery - 谷歌机器人看到了什么?生成代码还是源代码?

html - 为什么我的图像没有内联显示

javascript - jquery占位符表单在ie中提交