Javascript JQuery的竞争条件
我试图编写一些代码,在HTMLJavascript JQuery的竞争条件,javascript,jquery,html,css,race-condition,Javascript,Jquery,Html,Css,Race Condition,我试图编写一些代码,在HTMLselect框中取消对每个项目的绑定,然后加粗播放器的名称。只有在行与行之间有一个警报框时,它才起作用,如下所示: $("#users > option").css("font-weight", "normal"); alert('AHAHSDYHSAUDHSAUDHSAUDH'); $('#users option[value="' + strPlayer + '"]').css("font-weight", "bold"); 如果我
select
框中取消对每个项目的绑定,然后加粗播放器的名称。只有在行与行之间有一个警报框时,它才起作用,如下所示:
$("#users > option").css("font-weight", "normal");
alert('AHAHSDYHSAUDHSAUDHSAUDH');
$('#users option[value="' + strPlayer + '"]').css("font-weight", "bold");
如果我移除警告框,玩家物品不会变为粗体。我唯一的猜测是JQuery操作是异步的。。不知道如何解决这个问题
谢谢。为什么不在第一部分使用CSS(将all设置为非粗体),在最后一部分使用jQuery(将用户名设置为粗体)。最好使用CSS规则应用默认的、可预测的样式,然后使用jQuery进行自定义:
<style type="text/css">
#users > option {font-weight:normal;}
</style>
<script type="text/javascript">
$('#users option[value="' + strPlayer + '"]').css("font-weight", "bold");
</script>
选择框是异步填充的吗?
css()
绝对不是异步的。您能否创建一个简短的文本来重现您的问题?jQuery DOM操作、.css
等不是异步的。工作表单:-尽管粗体不显示在Opera@minitech,我想Esailija指的是asynchronous
中的否定a
前缀。Esailija,你是对的,但我通常更喜欢重复问题中使用的术语,以确保提问者和我在同一页:)谢谢,但我需要这样做的原因是,在两轮之间,不同的玩家名称变为粗体(取决于当前的领导者是谁)
$('#users option:not([value="' + strPlayer + '"])').css("font-weight", "normal");
$('#users option[value="' + strPlayer + '"]').css("font-weight", "bold");