2017-10-23 4 views
-3

Ich habe ein Problem des Zugangs zu bestimmten Klasse, weil ich eine Liste, die Abstammung der Datenbank haben und wenn ich einen Artikel auswählen, wählen Sie alle.Ereignis von ul li Javascript

Ich denke, dass ich Zugang zu dem Ereignis brauche.

Dies ist das Skript:

$(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'); 
    } 
}); 

});

Dieses Skript zeigen alle ul und ich möchte nur das geklickt Element

Dieses gezeigt werden, ist das 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

+1

Willkommen bei Stack Overflow! Bitte nimm die [Tour], schau dich um und lies die [Hilfe] durch, insbesondere [* Wie stelle ich eine gute Frage? *] (/ Help/how-to-ask) Re * "das ist die Code PHP "*: Show ** Code **, nicht * Bilder * des Codes. Und für eine clientseitige Browserfrage ist die Angabe von PHP-Code nicht sinnvoll; Zitieren Sie stattdessen das HTML, das es generiert. –

Antwort

0

Da $("#contenedor_central .menu_noticia") werden alle li wählen.

Sie müssen zwischen Ihrem aktuellen Klick li unterscheiden.

Sie können eventListener für alle $("#contenedor_central .menu_noticia") hinzufügen und $(this) verwenden, um Ihren aktuellen Klick li auszuwählen.

$("#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'); 
} 
}) 
+0

Kannst du mir bitte zeigen, wie man es mit einem Beispiel macht? –

+0

Ein Beispiel ist die Antwort hinzugefügt @Dj SoundWay –

+0

Ok, ich habe mich nicht gut ausgedrückt. Funktioniert nicht, weil ich ein Symbol habe, und das "this" zeigt auf das Symbol, und wenn ich geklickt zeige oder nicht zeigen das Symbol, und ich möchte, dass das "Dies" zeigt die ul und zeigen ul –