HTML
120: $seperator= "<SEPERATOR>";
121: echo "<div class='optionBox' onClick='selectOther(this.id)' id='".$OPid.$seperator.$OPlayer2ID."' >".$OPlayer2nam."</div>";
Jquery的
function selectOther(evalOTHERID){
$("div[.*'selected'#'"+evalOTHERID+"']").css('opacity', '1');
$("div[id='"+evalOTHERID+"']").css('opacity', '0.08');
$("div[id='"+evalOTHERID+"']").addClass( "selected" );
}
HTML行#120和#121在while循环中生成可选框,类似于下面的那个
===== ===== =====
=43 = =44 = =45 =
===== ===== =====
单击每个可选框时,不透明度将更改为0.08,我的问题是如何取消选择之前选择的框?我尝试在jQuery: select an element's class and id at the same time?上使用建议的解决方案,但似乎我的集成存在问题。
我也尝试将其更改为:
$("div[class*='selected'][id='"+evalOTHERID+"']").css('opacity', '1');
但它仍然不会将所选择的不透明度改回1。
我已经搜索了试图为其找到答案的问题,确实存在大量解决方案,但我是网络编程的新手,并且无法正确集成。顺便说一句,控制台没有错误。
请告诉我以何种方式获取已选择课程的元素的ID?我将不胜感激。
请帮助我编辑问题,如果不是很清楚,那么我会学到更多东西。赞赏。
答案 0 :(得分:1)
你可以通过传递dom节点来简化一些事情:
onClick='selectOther(this)'
然后我们将它包装在jQuery $(elem)
中并解决问题:
function selectOther(elem){
$(elem).toggleClass("selected");
if( $(elem).hasClass("selected") ){
$(elem).css('opacity', '0.08');
} else {
$(elem).css('opacity', '1');
}
}