Py学习  »  Jquery

jquery/javascript我的函数在按下按钮时没有运行

whatitiswhatsup • 6 年前 • 1267 次点击  

我有一个按钮,当我单击时,我希望它从行中获取所有数据。我的.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>

现在我点击,什么也没发生。有什么想法吗?这个。前缀表示正在搜索类。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/31675
 
1267 次点击  
文章 [ 1 ]  |  最新文章 6 年前
Scott Marcus
Reply   •   1 楼
Scott Marcus    6 年前

首先,您是否检查了开发人员的控制台(F12)以查看是否有任何错误。是否确实引用了jquery库。

接下来,即使引用了jquery, .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>