首页 > 解决方案 > 如何使用 Jquery 获取具有特定 id 的 div 值?

问题描述

我有带有添加按钮的数据列表。在按钮上单击如何使用 jquery 获取 id="rnumber" 的 div 值。我想要按钮单击上的数字。我不知道如何获得我尝试的那个号码,但每次我获得第一个列表号码时,我都想要相同班级的号码。前任。如果我单击第二个 li 按钮,我仍然会得到第一个 li 类 div 值。我尝试使用父母和孩子选择器,但我没有得到答案。

<div class="modal-body">
    <ul class="searchresult" style="list-style-type: none;">
        <li>
            <div  class="kt-font-lg">AKash</div>
            <div  class="kt-font-lg rnumber" >1234567890</div>
            <button  class="kt-font-lg btn-primary " onclick="addNumber()">Add</button>
        </li>
        <li>
            <div  class="kt-font-lg">Deep</div>
            <div  class="kt-font-lg rnumber" >9012345678</div>
            <button  class="kt-font-lg btn-primary " onclick="addNumber()">Add</button>
        </li>
    </ul>
</div>

onClick 功能

function addNumber(){
                rnumber = $('#rnumber');
                var  ttt = rnumber.text();
                console.log(ttt);        
             }

标签: javascriptjqueryjquery-selectorsparent-childparent-selector

解决方案


您必须保持您的 ID 唯一。复制身份证是犯罪行为。改为a class。由于多个元素共享相同的功能,请使用event.targetor this。你可以使用这样的东西:

function addNumber() {
  console.log($(event.target).prev().text());
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="modal-body">
  <ul class="searchresult" style="list-style-type: none;">
    <li>
      <div class="kt-font-lg">AKash</div>
      <div class="kt-font-lg rnumber">1234567890</div>
      <button class="kt-font-lg btn-primary" onclick="addNumber()">Add</button>
    </li>
    <li>
      <div class="kt-font-lg">Deep</div>
      <div class="kt-font-lg rnumber">9012345678</div>
      <button class="kt-font-lg btn-primary" onclick="addNumber()">Add</button>
    </li>
  </ul>
</div>

更好的方式是使用不显眼的 JavaScript 事件处理:

$(function () {
  $(".btn-primary").click(function () {
    console.log($(this).prev().text());
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="modal-body">
  <ul class="searchresult" style="list-style-type: none;">
    <li>
      <div class="kt-font-lg">AKash</div>
      <div class="kt-font-lg rnumber">1234567890</div>
      <button class="kt-font-lg btn-primary">Add</button>
    </li>
    <li>
      <div class="kt-font-lg">Deep</div>
      <div class="kt-font-lg rnumber">9012345678</div>
      <button class="kt-font-lg btn-primary">Add</button>
    </li>
  </ul>
</div>


推荐阅读