javascript - JQuery/Javascript 我的功能在按下按钮时没有运行
问题描述
我有一个按钮,当我单击时,我希望它从行中获取所有数据。我的 .php 文件(我这里也没有包含 php 代码)看起来像这样(我为 stackoverflow 修剪了表格)
<tr class='rowdata'>
<td>Bob</thd>
</tr>
<input type='submit' class='getRow' value='ClickMe'>
<script>
$(".getRow").click(function() {
var rowOfData = $(this).closest(".rowdata");
alert(rowOfData.text());
});
</script>
现在我点击并没有任何反应。有任何想法吗?这 。前缀表示它正在搜索类。
解决方案
首先,您是否检查了开发人员的控制台 (F12) 以查看是否有任何错误。你确定你引用了 JQuery 库。
接下来,即使引用了 JQuery,.closest()
也将搜索您调用它的元素的祖先元素。如果您的按钮不是您要查找的元素的后代,您将找不到它。
现在,假设确实找到了您的行,那么您将在整个行中.closest()
询问。.text()
这可能是您想要的,但您似乎更可能需要逐个单元格的数据。
此外,您的按钮是一个submit
用于提交表单数据的按钮,但看起来这不是您在这里所做的。如果是这种情况,请使用常规按钮。
而且,您的 HTML 无效,因为您的单元格的结束标签错误。
所以,纠正这一切:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr class='rowdata'>
<td>Bob</td>
<td>Smith</td>
<td><input type='button' class='getRow' value='ClickMe'></td>
</tr>
</table>
<script>
$(".getRow").click(function() {
var rowOfData = $(this).closest(".rowdata");
alert(rowOfData.text()); // Gets all the text in the row
alert($("td:first-child", rowOfData).text()); // Gets just first cell
});
</script>
推荐阅读
- amazon-web-services - 如果双方 VPC CIDR 范围相同,则 VPC 对等?
- java - 检查嵌套 JSON 中是否存在列
- php - 从锚链接中删除最后一个逗号?
- reactjs - 作为集成测试的一部分,如何在组件中模拟 const 方法?
- firebase - 检查数组中的引用 - Firestore 安全规则
- java - Spring集成Kafka MessaheChannel Thread?
- angular - ionic.ps1 无法加载,因为在此系统上禁用了运行脚本
- c++ - OpenCV 4.4.0 cvtColor 错误,color.simd_helpers.hpp
- python - 如何最好地确定模型的准确性?重复训练/测试拆分或简历?
- python - 在 django 中调用更新视图时不存在匹配查询