javascript - 似乎无法获得嵌套在 LI 标记内的 div 的父 ID
问题描述
我试图实现的是在“数字”的值发生变化时获取当前 li 的 div id
<ul>
<li>
<div id ="id1"class="card center">
<span class="red-text">First Number </span><b class=""
contenteditable="true" oninput="edit(this)">Number</b><br>
<span class="blue-text">Second Number</span><b class=""
contenteditable="true" oninput="edit(this)">Numbe</b><br>
</li>
<li>
<div id ="id2"class="card center">
<span class="red-text">First Number </span><b class=""
contenteditable="true" oninput="edit(this)">Number</b><br>
<span class="blue-text">Second Number</span><b class=""
contenteditable="true" oninput="edit(this)">Number</b><br>
</li>
</ul>
JS
function edit(el) {
let x = el.innerHTML;
localStorage.setItem("localNumber",x);
//Update Values
let row = $(this).parent().attr('id');
//let row = $('li div').attr('id'); //Works but only grabs id of First div never the second
console.log(row);
解决方案
您的行需要修改。使用el
而不是this
. el
将引用您正在调用该函数的元素。
function edit(el) {
let x = el.innerHTML;
//localStorage.setItem("localNumber", x);
//Update Values
let row = $(el).parent().attr('id');
//let row = $('li div').attr('id'); //Works but only grabs id of First div never the second
console.log(row);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>
<div id="id1" class="card center">
<span class="red-text">First Number </span><b class="" contenteditable="true" oninput="edit(this)">Number</b><br>
<span class="blue-text">Second Number</span><b class="" contenteditable="true" oninput="edit(this)">Numbe</b><br>
</li>
<li>
<div id="id2" class="card center">
<span class="red-text">First Number </span><b class="" contenteditable="true" oninput="edit(this)">Number</b><br>
<span class="blue-text">Second Number</span><b class="" contenteditable="true" oninput="edit(this)">Number</b><br>
</li>
</ul>
推荐阅读
- swift - 在 NSTextView 上设置插图
- ios - 如何使用计算着色器绘制大点云?
- django - 如何通过 OTP 而不是激活链接更改 Django Allauth 电子邮件验证
- c# - 如何在 C# 上的 RDLC 报告中证明文本的合理性
- arm64 - ARM64 是否有故意未定义的操作码?
- java - 拆分窗格、滚动窗格和布局如何工作
- perl - 如何知道 PSGI 非阻塞流式编写器何时以 PSGI 兼容的方式准备好接收更多数据?
- c# - DataGrid 在页面上时不显示新项目
- javascript - lazyFetching 在 fullcalendar 插件中不起作用
- ssl - 如何在 heroku 上为应用创建动态子域:(例如 d1.example.com)