web-dev-qa-db-fra.com

jquery obtient l'identifiant/la valeur de LI après la fonction de clic

<ul id='myid'>
  <li id='1'>First</li>
  <li id='2'>Second</li>
  <li id='3'>Third</li>
  <li id='4'>Fourth</li>
  <li id='5'>Fifth</li>
</ul>

Comment puis-je alerter l'identifiant de l'élément li sur lequel on a cliqué (tout ce qui peut remplacer l'identifiant peut avoir une valeur ou autre chose fonctionnera également)
s'il vous plaît aider
Merci d'avance
Dave

64
dave
$("#myid li").click(function() {
    alert(this.id); // id of clicked li by directly accessing DOMElement property
    alert($(this).attr('id')); // jQuery's .attr() method, same but more verbose
    alert($(this).html()); // gets innerHTML of clicked li
    alert($(this).text()); // gets text contents of clicked li
});

Si vous parlez de remplacer l'ID par quelque chose:

$("#myid li").click(function() {
    this.id = 'newId';

    // longer method using .attr()
    $(this).attr('id', 'newId');
});

Démo ici. Et pour être juste, vous devriez d'abord avoir essayé de lire la documentation:

127
karim79

Si vous modifiez un peu votre code html - supprimez les identifiants

<ul id='myid'>  
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
<li>Fifth</li>
</ul>

Alors le code jQuery que vous voulez est ...

$("#myid li").click(function() {
    alert($(this).prevAll().length+1);
});​

Vous n'avez pas besoin de placer d'identifiant, continuez simplement à ajouter des objets li.

Jetez un coup d'oeil à demo

Liens utiles

11
vikmalhotra

vous pouvez obtenir la valeur du li respectif en utilisant cette méthode après avoir cliqué 

HTML: -

<!DOCTYPE html>
<html>
<head>
    <title>show the value of li</title>
    <link rel="stylesheet"  href="pathnameofcss">
</head>
<body>

    <div id="user"></div>


    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <ul id="pageno">
    <li value="1">1</li>
    <li value="2">2</li>
    <li value="3">3</li>
    <li value="4">4</li>
    <li value="5">5</li>
    <li value="6">6</li>
    <li value="7">7</li>
    <li value="8">8</li>
    <li value="9">9</li>
    <li value="10">10</li>

    </ul>

    <script src="pathnameofjs" type="text/javascript"></script>
</body>
</html>

JS: -

$("li").click(function ()
{       
var a = $(this).attr("value");

$("#user").html(a);//here the clicked value is showing in the div name user
console.log(a);//here the clicked value is showing in the console
});

CSS: -

ul{
display: flex;
list-style-type:none;
padding: 20px;
}

li{
padding: 20px;
}
0
Sandeep Mukherjee