gpt4 book ai didi

javascript - jQuery Mobile 动态改变按钮颜色

转载 作者:行者123 更新时间:2023-11-30 18:03:56 25 4
gpt4 key购买 nike

我有一个动态生成的按钮列表...

var output="";
var active;
var x;
var i;
var user_id=localStorage.get('user_id');#

for(x=0;x<dynamic_count;x++)
{
output+="<div class='tbl' data-role='button' data-table_id='"+(x+1)+"'>";
output+="<p class='center_text'>"+(x+1)+</p>";
output+="<div>";
}

$('.table_holder').html(output).trigger('create');

//active and active_count come from AJAX request (I have missed this bit our of the code..active[0]=a table number where as active[1]= s user_id

for(i=0;i<active_count;i++)
{
if(active[1]==user_id)
{
$('.tbl').find("[data-table_id='"+active[0]+"']").css('backgroundColor', 'red');
}
}

不幸的是,这对所需元素的背景颜色没有影响。我不确定这是我的选择器代码、我的 css 代码有问题,还是我的 jQuery Mobile 实现有问题。

我注意到,当动态添加需要使用 jQuery Mobile 设置样式的元素时,我需要使用 trigger('create') 方法来应用 css。

这显然会用原始 jQuery CSS 重写任何修改后的 CSS。

最佳答案

首先,创建一个自定义类,例如.custom-class

CSS:请注意,!important 对于覆盖 JQM 默认样式至关重要。

.custom-class { background-color: red !important; }

代码:

查找所有具有[data-table_id]属性的按钮,比较值并应用.custom-class

var buttons = $(document).find('a[data-table_id]');

$.each(buttons, function () {
$(this).removeClass('custom-class');
if ($(this).attr('data-table_id') == user_id) {
$(this).addClass('custom-class');
}
});

Similar demo

关于javascript - jQuery Mobile 动态改变按钮颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16261543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com