Php 如何在Jquery中获取特定li的颜色?
我的HTMl文件包含以下代码:Php 如何在Jquery中获取特定li的颜色?,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我的HTMl文件包含以下代码: <li id="b1" onclick="myfunc(this)" class="thumbsup fa fa-thumbs-up" ></li> 上面的代码创建了一个相似的按钮,单击该按钮时颜色会发生变化 现在我想在表单提交时得到它的颜色,这样在php端我就可以相应地在DB中添加喜欢的数量。也就是说,如果用户单击此按钮,则其颜色将变为灰色。所以在jquery中,我想看看它是否是灰色的,然后在php中相应地增加DB中的值。不确定如
<li id="b1" onclick="myfunc(this)" class="thumbsup fa fa-thumbs-up" ></li>
上面的代码创建了一个相似的按钮,单击该按钮时颜色会发生变化
现在我想在表单提交时得到它的颜色,这样在php端我就可以相应地在DB中添加喜欢的数量。也就是说,如果用户单击此按钮,则其颜色将变为灰色。所以在jquery中,我想看看它是否是灰色的,然后在php中相应地增加DB中的值。不确定如何在jquery中检索li元素的颜色
请注意,用户可以多次单击按钮。和第一次单击一样,再次单击时,按钮会变为灰色。它将变为默认颜色,依此类推……您可以使用jQuery的查找功能。 假设您在div元素下有多个li,那么您可以尝试以下代码来获取颜色为灰色的所有
li
元素
$( "div.classname" ).find( "li.thumbsup" ).css( "background-color", "grey " ).
正如@mplungjan在评论中所说,如果单击它,则不需要颜色。您可以编写一个onlick函数来向php文件发送ajax请求,在那里进行类似的查询,然后返回时,您可以编写一个非常简单的代码来着色并禁用再次单击按钮 像这样,
myfunc(e){
$.ajax({
type:'POST',
url:'yourphpfile.php',
data:{whatever:youwanttosend},
success:function(data){
$('#b1').css('background-color':'green');
});
}
你要的不是李的颜色,你要的是它的状态。切换类:
$(函数(){
$(.thumbsup”)。在(“单击”,函数()上{
$(this).toggleClass('liked');//每次单击都会设置或删除
$(this).next().removeClass('disliked');//从thumbsdown删除
})
$(.thumbsdown”)。在(“单击”,函数()上{
$(this).toggleClass('disliked');//每次单击设置或删除
$(this.prev().removeClass('liked');//从thumbsup删除
})
$(“#保存”)。在(“单击”,函数(){
var liked=$(“.liked”).length,
不喜欢=$(“.dis喜欢”)。长度;
console.log(喜欢,不喜欢);
//这里是ajax-如果没有单击,则发送喜欢的:0,不喜欢的:0
$.post(“savelike.php”,{“liked”:liked,“disliked”:disliked},function(){
控制台日志(“已保存”);
});
})
})
喜欢{背景色:绿色}
.不喜欢{背景色:红色}
我怎样才能做到这一点?请指导。问题是它可以被多次单击。就像第一次单击一样,按钮会变灰,再次单击时会变灰。它会变成默认的颜色等等…我想这段代码只检查了一次点击。在我的代码/javascript中。它可以被点击多次。事实上,每个喜欢的按钮都有不喜欢的按钮。喜欢有一个标签“好天气”与喜欢和不喜欢按钮。“喜欢”按钮默认为绿色,“不喜欢”按钮默认为红色。若用户点击“喜欢”按钮,它会变成灰色。如果用户再次单击,它将再次变为绿色。另外,如果用户选择“喜欢/喜欢”为灰色,然后选择“不喜欢”,则“喜欢”按钮变为绿色,不喜欢变为灰色。My like LIs切换该类。您可以打开和关闭它们这是我用来处理喜欢和不喜欢按钮的代码:var thumbs=document.queryselectoral('.thumbsup.thumbsdown');Array.from(thumbs).forEach((thumb)=>{thumb.addEventListener('click',function(){this.previousElementSibling&&this.previousElementSibling.classList.remove('active');this.nextementSibling&&this.nextementSibling.classList.remove('active');this.classList.toggle('active');});有了这段代码,我如何在ajax中检查用户是否选择喜欢或不喜欢其中的任何一个?请参阅更新。更改计数代码中的console.log以执行ajax操作