javascript - 单击父级时如何获取子级名称
问题描述
我有很多这样的搜索结果:
<div id="product-button">
<p id="product-id">id</p>
<p id="product-name">name</p>
</div>
<div id="product-button">
<p id="product-id">id</p>
<p id="product-name">name</p>
</div>
etc etc
我需要获取单击的产品名称和 ID 的文本
我关闭但<empty string>
在控制台中打印:`
$(document).on('click', '#product-button', function(){
console.log($(this).closest('#product-button').children('#product-name').text());
});
解决方案
元素的 id 必须是唯一的。用类替换它们。
<div class="product-button">
<p class="product-id">id_1</p>
<p class="product-name">name_1</p>
</div>
<div class="product-button">
<p class="product-id">id_2</p>
<p class="product-name">name_2</p>
</div>
$(this) is ('#product-button') 所以不需要它:
$(document).on('click', '.product-button', function(){
console.log($(this).children('.product-name').text());
});
$(document).on('click', '.product-button', function(){
console.log(`${$(this).children('.product-name').text()} ${$(this).children('.product-id').text()}`);
});
<div class="product-button">
<p class="product-id">id_1</p>
<p class="product-name">name_1</p>
</div>
<div class="product-button">
<p class="product-id">id_2</p>
<p class="product-name">name_2</p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
推荐阅读
- html - 溢出-x 不工作 css
- python - 在 Python 中使用乌尔都语和阿拉伯语名称
- rest - Springboot中如何调用嵌套的api
- java - Spark Cassandra 连接器基础简单程序获取火花记录错误
- c++ - CMake在源代码附近找不到头文件
- mysql - 在 Django 中使用原始命令时 MySQL 语法错误
- vba - 用于excel的胖手指十进制输入VBA
- javascript - 在 javascript 中访问本地调用者
- oracle - oracle函数每次调用时都会编译吗?
- c# - 获取在 Xamarin Forms 中发送短信/电子邮件的结果