当前位置: 首页 > 面试题库 >

单击按钮获取表行的内容

罗诚
2023-03-14
问题内容

我需要提取表中每列的详细信息。例如,列“名称/编号”。

  • 该表包含多个地址
  • 每行的最后一列都有一个按钮,使用户可以选择列出的地址。

问题: 我的代码仅选择<td>具有类的第一个nr。我该如何工作?

这是jQuery位:

$(".use-address").click(function() {
    var id = $("#choose-address-table").find(".nr:first").text();
    $("#resultas").append(id); // Testing: append the contents of the td to a div
});

表:

<table id="choose-address-table" class="ui-widget ui-widget-content">
    <thead>
        <tr class="ui-widget-header ">
            <th>Name/Nr.</th>
            <th>Street</th>
            <th>Town</th>
            <th>Postcode</th>
            <th>Country</th>
            <th>Options</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td class="nr"><span>50</span>
            </td>
            <td>Some Street 1</td>
            <td>Leeds</td>
            <td>L0 0XX</td>
            <td>United Kingdom</td>
            <td>
                <button type="button" class="use-address" />
            </td>
        </tr>
        <tr>
            <td class="nr">49</td>
            <td>Some Street 2</td>
            <td>Lancaster</td>
            <td>L0 0XX</td>
            <td>United Kingdom</td>
            <td>
                <button type="button" class="use-address" />
            </td>
        </tr>
    </tbody>
</table>

问题答案:

练习的目的是找到包含信息的行。当我们到达那里时,我们可以轻松提取所需的信息。

回答

$(".use-address").click(function() {
    var $item = $(this).closest("tr")   // Finds the closest row <tr> 
                       .find(".nr")     // Gets a descendent with class="nr"
                       .text();         // Retrieves the text within <td>

    $("#resultas").append($item);       // Outputs the answer
});

现在,让我们集中讨论这种情况下的一些常见问题。

如何找到最接近的行?

使用.closest()

var $row = $(this).closest("tr");

使用.parent()

您也可以使用.parent()方法将DOM树向上移动。这只是有时与.prev()和一起使用的替代方法.next()

var $row = $(this).parent()             // Moves up from <button> to <td>
                  .parent();            // Moves up from <td> to <tr>

获取所有表单元格<td>

因此,我们有我们$row想要输出表格单元格文本的方法:

var $row = $(this).closest("tr"),       // Finds the closest row <tr> 
    $tds = $row.find("td");             // Finds all children <td> elements

$.each($tds, function() {               // Visits every single <td> element
    console.log($(this).text());        // Prints out the text within the <td>
});

获得特定<td>

与上一个相似,但是我们可以指定子<td>元素的索引。

var $row = $(this).closest("tr"),        // Finds the closest row <tr> 
    $tds = $row.find("td:nth-child(2)"); // Finds the 2nd <td> element

$.each($tds, function() {                // Visits every single <td> element
    console.log($(this).text());         // Prints out the text within the <td>
});

有用的方法

  • .closest() -获取与选择器匹配的第一个元素
  • .parent() -获取当前匹配元素集中每个元素的父元素
  • .parents() -获取当前匹配元素集中每个元素的祖先
  • .children() -获取匹配元素集中每个元素的子元素
  • .siblings() -获取匹配元素集中每个元素的同级
  • .find() -获取当前匹配元素集中每个元素的后代
  • .next() -获得匹配元素集中每个元素的紧随其后的同级
  • .prev() -获取匹配元素集中每个元素的前一个同级


 类似资料:
  • 我试图在单击某个按钮时显示该按钮的值。如果我在eventListener中为此编写代码,则会弹出警报,但不会显示文本。 我已尝试将警报移动到eventListener上方和for循环内部,这将在页面加载时显示正确的值。 按钮的HTML格式: Javascript:

  • 问题内容: 如何找到被点击的按钮的ID? 问题答案: 您需要发送ID作为功能参数。像这样做: 这将发送ID 作为您可以在您的函数中使用。

  • 本文向大家介绍JS获取单击按钮单元格所在行的信息,包括了JS获取单击按钮单元格所在行的信息的使用技巧和注意事项,需要的朋友参考一下 用JS获取表格中单击某个单元格中按钮,得到所在行的信息:

  • 问题内容: 关于按下inputDialoguebox的“取消”按钮,我有一个问题。我之前也曾问过类似的问题,因此我很抱歉重复自己的道歉。 我遇到的主要问题是,无论我按取消如何,代码都将执行,即使不添加任何输入,套接字连接也不会建立。 为什么会发生这种情况,我该如何避免呢? 因此,即使我确实按了取消,也可以通过目前的方式建立clientsocket连接。原因可能是因为我在同一台计算机上将服务器和客户

  • 因为我是jQuery新手,所以我在小任务上遇到了困难。我有一个表格,其中每个表格行都有一个图标,点击那个图标,一个包含一些单词的模态框就会打开。当我关闭这个模态框时,我想要收集在那个模态框上出现的表行。 例如: 点击row2+按钮,它打开模态框,关闭那个模态框,我想要那个模态框上的行打开,在那种情况下是2。 我已经编写了如下所示的代码。 模态盒: 表行: 单击modal框时,它会使用jQuery填

  • 这是我的listview点击事件: 这是我的按钮点击事件: 现在,我需要获得单击的listview项的位置。我已经声明了全局位置,但这总是给我位置1。 有人能告诉我怎么得到这个职位吗?