Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Jquery中获取特定li的颜色?_Php_Jquery_Html_Ajax - Fatal编程技术网

Php 如何在Jquery中获取特定li的颜色?

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中的值。不确定如

我的HTMl文件包含以下代码:

<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操作