jQuery单击功能后获取<li>元素的ID /值


71

如何提醒<li>点击的物品的ID ?

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

(可以替换id的任何东西都可以是值,或者其他也可以使用。)


尝试使用event.target.id api.jquery.com/event.target
Pramod

Answers:


143
$("#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
});

如果您正在谈论用以下方式替换ID:

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

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

演示在这里。公平地说,您应该首先尝试阅读文档:


13

如果您稍微更改html代码-删除ID

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

那么你想要的jQuery代码是...

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

您无需放置任何ID,只需继续添加li项即可。

看看演示

有用的链接


感谢Shivik,但id已定义。我得到了我要找的答案,第一个答案。再次感谢
dave

1

点击后,您可以使用此方法获取相应li的值

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;
}

-3

如果您li在一个li元素中有多个元素,那么这肯定会为您提供帮助,我已经对其进行了检查,它可以工作....

<script>
$("li").on('click', function() {
          alert(this.id);
          return false;
      });
</script>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.