【问题标题】:get event of ul li javascript获取 ul li javascript 的事件
【发布时间】:2017-10-23 08:59:52
【问题描述】:

我在访问某些类时遇到问题,因为我有一个数据库下降列表,当我选择一个项目时,全选。¿为什么?

我认为我需要访问该活动。

这是脚本:

$(document).ready(function(){ 
$("#contenedor_central .boton_opciones").click(function(e){
    e.preventDefault();
     if ($("#contenedor_central .menu_noticia").hasClass('desactivado')){
        $("#contenedor_central .menu_noticia").css({"display":"table"});
        $("#contenedor_central .menu_noticia").removeClass('desactivado');
        $("#contenedor_central .menu_noticia").addClass('activado');
     }else{
        $("#contenedor_central .menu_noticia").removeClass('activado');
        $("#contenedor_central .menu_noticia").css({"display":"none"});
        $("#contenedor_central .menu_noticia").removeClass('activado');
        $("#contenedor_central .menu_noticia").addClass('desactivado');
     }
});

});

此脚本显示所有 ul,我只想显示单击的元素

这是php:

<?php
echo '<div id="contenedor_central" class="contenedor_central">';
$conexion=mysqli_connect("***", "***", "", "***");
if(!$conexion){
    echo "La conexion ha fallado : " . mysqli_error();
    exit();
}
$tamano_paginas=6;
if(isset($_GET["pagina"])){
    if($_GET["pagina"]==1){
        header("Location: index.php");
    }else{
        $pagina=$_GET["pagina"];
    }
}else{
    $pagina=1;      
}
$empezar=($pagina-1)*($tamano_paginas);
$consulta="SELECT * FROM contenidoblog";
if($resultado=mysqli_query($conexion, $consulta)){
    $num_filas=mysqli_num_rows($resultado);
    $total_paginas=ceil($num_filas/$tamano_paginas);
}
$consulta_filtrada="SELECT * FROM contenidoblog LIMIT $empezar, $tamano_paginas";
$resultado1=mysqli_query($conexion, $consulta_filtrada);
    if($resultado1){
        while($registro= mysqli_fetch_assoc($resultado1)){  
            echo "<div class='opciones'>
                    <ul class='menu_noticia desactivado'>
                        <li>Favoritos</li>
                        <li>Compartir</li>
                        <li>Me gusta</li>
                        <li>Comentar</li>
                    </ul>
                </div>";
            echo "<div id='cajaContenedor'> ";  
            if($registro['imagen']!=""){
                echo "<img src='imagenes/" . $registro['imagen'] . "'  />";}
            echo"<div id='contenedor_titular_cabecera'> <i id='btnn' class='boton_opciones fa fa-bars fa-lg' aria-hidden='true'></i>
            <a href='*'".$registro['cabecera']."&id=".$registro['id']."'>";
            echo "<p> ". $registro['fecha'] ."</p>";
            echo "<H2>" . $registro['cabecera'] . "</H2>";
            echo "<p>". $registro['titular'] . "</p>";
            echo "</a>";
            echo "</div>";
            echo "</div>";
        }
    }
    mysqli_close($conexion);
    for($i=1;$i<=$total_paginas;$i++){
        echo "<a href='?pagina=". $i . "'/>" . $i . "</a>  ";
    }
    echo "<BR></BR>";
echo "</div>";
?>

This is the image

【问题讨论】:

  • 欢迎来到 Stack Overflow!请带上tour,看看周围,通读help center,特别是How do I ask a good question? Re "this is the code php": Show code ,而不是代码的图片。对于客户端浏览器问题,引用 PHP 代码是没有用的;而是引用它生成的 HTML。

标签: javascript php sql parent children


【解决方案1】:

因为$("#contenedor_central .menu_noticia")会选择所有的li。

你必须区分你当前的点击li。

您可以为所有$("#contenedor_central .menu_noticia") 添加 eventListener 并使用$(this) 选择您当前的点击 li。

$("#contenedor_central .menu_noticia).click(function(e){
 e.preventDefault();
 if ($(this).hasClass('desactivado')){
    $(this).css({"display":"table"});
    $(this).removeClass('desactivado');
    $(this).addClass('activado');
 }else{
    $(this).removeClass('activado');
    $(this).css({"display":"none"});
    $(this).removeClass('activado');
    $(this).addClass('desactivado');
 }
})

【讨论】:

  • 你能用一个例子告诉我怎么做吗?
  • 答案中添加了一个例子@Dj SoundWay
  • 好吧,我表达得不好。不起作用,因为我有一个图标,并且“this”指向该图标,当我单击显示或不显示图标时,我希望“this”指向 ul 并显示 ul
猜你喜欢
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 2023-03-13
  • 1970-01-01
  • 2020-04-15
  • 2011-08-26
  • 1970-01-01
相关资源
最近更新 更多